股票行情指示器
¥Ticker
PixiJS 中的 Ticker
类提供了一种强大而灵活的机制,用于在每个动画帧上执行回调。它对于管理游戏循环、动画和任何基于时间的更新非常有用。
¥The Ticker
class in PixiJS provides a powerful and flexible mechanism for executing callbacks on every animation frame. It's useful for managing game loops, animations, and any time-based updates.
import { Ticker } from 'pixi.js';
const ticker = new Ticker();
ticker.add((ticker) => {
console.log(`Delta Time: ${ticker.deltaTime}`);
});
// Start the ticker
ticker.start();
添加和移除监听器
¥Adding and Removing Listeners
Ticker
类允许你添加多个将在每帧调用的监听器。你还可以为回调指定上下文,这对于维护正确的 this
引用非常有用。
¥The Ticker
class allows you to add multiple listeners that will be called on every frame. You can also specify a context for the callback, which is useful for maintaining the correct this
reference.
ticker.add(myFunction, myContext);
ticker.addOnce(myFunction, myContext);
ticker.remove(myFunction, myContext);
控制 Ticker
¥Controlling the Ticker
ticker.start(); // Begin calling listeners every frame
ticker.stop(); // Pause the ticker and cancel the animation frame
要在添加监听器时自动启动代码,请启用 autoStart
:
¥To automatically start the ticker when a listener is added, enable autoStart
:
ticker.autoStart = true;
确定监听器优先级
¥Prioritizing Listeners
可以为监听器分配优先级。值越高,运行越快。
¥Listeners can be assigned a priority. Higher values run earlier.
import { UPDATE_PRIORITY } from 'pixi.js';
ticker.add(fnA, null, UPDATE_PRIORITY.HIGH); // runs before...
ticker.add(fnB, null, UPDATE_PRIORITY.NORMAL); // ...this
可用常量包括:
¥Available constants include:
-
UPDATE_PRIORITY.HIGH = 50
-
UPDATE_PRIORITY.NORMAL = 0
-
UPDATE_PRIORITY.LOW = -50
配置 FPS
¥Configuring FPS
Tickers 允许通过 FPS 限制来控制更新速率。
¥Tickers allows FPS limits to control the update rate.
minFPS
限制允许的帧慢速。用于限制 deltaTime
:
¥Caps how slow frames are allowed to be. Used to clamp deltaTime
:
ticker.minFPS = 30; // deltaTime will never act as if below 30 FPS
maxFPS
限制 ticker 的运行速度。有助于节省 CPU/GPU:
¥Limits how fast the ticker runs. Useful for conserving CPU/GPU:
ticker.maxFPS = 60; // will not tick faster than 60fps
设置为 0
以允许无限帧率:
¥Set to 0
to allow unlimited framerate:
ticker.maxFPS = 0;
API 参考
¥API Reference