BlinkPlugin
节点闪烁插件,通过改变节点透明度实现闪烁效果,支持 API 控制或数据驱动。
基本使用
import { CanvasEngine, BlinkPlugin } from '@fnt-agilejs/core';
const engine = new CanvasEngine({
container: document.getElementById('canvas-container')!,
});
engine.plugins.use(new BlinkPlugin());
engine.start();
// API 方式:启动闪烁
engine.plugins.get('blink').start(['node-1', 'node-2'], {
period: 800,
min: 0.25,
max: 1
});
// 停止闪烁
engine.plugins.get('blink').stop(['node-1']);
配置与交互
数据驱动方式
通过节点数据配置:
node.data = {
blink: {
enabled: true,
period: 600, // 周期(ms)
min: 0.3, // 最小透明度
max: 1 // 最大透明度
}
};
API 与事件
插件 ID
readonly id = "blink"
方法
start
start(nodeIds: string[], options?: BlinkOptions): void
启动指定节点的闪烁。
stop
stop(nodeIds: string[]): void
停止指定节点的闪烁。
生命周期方法
setup
setup(engine: CanvasEngine): void
设置插件。
tick
tick(): void
每帧更新闪烁状态。
常见问题
Q: 如何停止所有闪烁?
A: 获取所有闪烁节点ID并调用stop:
const plugin = engine.plugins.get('blink');
plugin.stop(plugin.getBlinkingNodes());
Q: 如何自定义闪烁速度?
A: 调整 period 参数,值越小闪烁越快。
Q: 支持边闪烁吗?
A: 当前仅支持节点闪烁。
相关内容
- DataDrivenMotionPlugin - 数据驱动