# use.ts API 文档 本文档由 `DeepSeek R1` 模型生成并微调。 --- ## 函数说明 ### `onTick` ```typescript function onTick(fn: (time: number) => void): void; ``` **功能**:注册每帧执行的回调(自动管理生命周期) **推荐使用场景**:替代 `ticker` **参数说明**: - `fn`: 接收当前时间戳的帧回调函数 **示例**: ```typescript // Vue 组件中 onTick(time => { console.log('当前帧时间:', time); }); ``` --- ### `useAnimation` ```typescript function useAnimation(): [Animation]; ``` **功能**:创建动画实例(自动销毁资源) **返回值**:包含动画实例的元组 **推荐使用场景**:替代直接 `new Animation()` **示例**: ```typescript const [anim] = useAnimation(); anim.time(1000).move(100, 200); ``` --- ### `useTransition` ```typescript function useTransition(): [Transition]; ``` **功能**:创建渐变实例(自动销毁资源) **返回值**:包含渐变实例的元组 **推荐使用场景**:替代直接 `new Transition()` **示例**: ```typescript const [transition] = useTransition(); transition.value.x = 10; transition.time(500); transition.value.x = 100; ``` --- ### `useKey` ```typescript function useKey(noScope?: boolean): [Hotkey, symbol]; ``` **功能**:管理按键作用域(自动注销绑定) **参数说明**: - `noScope`: 是否使用全局作用域(默认创建新作用域) **返回值**:元组 [热键实例, 作用域标识] **推荐使用场景**:替代直接操作全局热键实例 **示例**: ```typescript const [hotkey, scope] = useKey(); hotkey.realize('mykey_id', () => console.log('mykey_id emitted.')); ``` --- ### `onEvent` ```typescript function onEvent< T extends ERenderItemEvent, K extends EventEmitter.EventNames >( item: RenderItem, key: K, listener: EventEmitter.EventListener ): void; ``` **功能**:自动管理事件监听生命周期 **推荐使用场景**:替代直接 `item.on()` + 手动注销 **示例**: ```typescript onEvent(sprite, 'click', event => { console.log('元素被点击', event); }); ``` --- ## 总使用示例 ```tsx import { defineComponent } from 'vue'; import { useAnimation, onTick, useKey } from '@motajs/render-vue'; export const MyComponent = defineComponent(() => { // 动画控制 const [anim] = useAnimation(); anim.time(1000).rotate(Math.PI); // 帧循环 onTick(time => { console.log('当前游戏运行时间:', time); }); // 按键控制 const [hotkey, scope] = useKey(); hotkey.realize('mykey_id', () => console.log('mykey_id emitted.')); return () => ; }); ``` --- ## 注意事项 1. **资源管理**:所有通过这些接口创建的资源(动画/渐变/事件)都会在组件卸载时自动销毁 2. **内存安全**:使用原生接口可能导致内存泄漏,这些封装接口确保: - 自动注销事件监听 - 自动停止动画/渐变 - 自动清理按键绑定 3. **类型安全**:所有接口均包含完整的类型推断(如 `onEvent` 的事件类型检查) 4. **框架适配**:专为 Vue3 组合式 API 设计,不可用于其他框架环境