GFRepeatAction¶
API Reference / Action Queue / 类索引
- 路径:
addons/gf/extensions/action_queue/actions/gf_repeat_action.gd - 模块:
Action Queue - 继承:
GFVisualAction - API:
public - 类别:运行时句柄 (
runtime_handle) - 首次版本:
3.17.0
按工厂重复创建并执行队列动作。 每轮通过 action_factory 创建一个新的动作对象,避免复用同一个动作实例时 残留 Tween、Timer 或节点引用状态。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 信号 | repeat_completed |
signal repeat_completed |
| 常量 | DEFAULT_MAX_IMMEDIATE_ITERATIONS_PER_FRAME |
const DEFAULT_MAX_IMMEDIATE_ITERATIONS_PER_FRAME: int = 256 |
| 属性 | action_factory |
var action_factory: Callable |
| 属性 | repeat_count |
var repeat_count: int = 1 |
| 属性 | max_immediate_iterations_per_frame |
var max_immediate_iterations_per_frame: int = DEFAULT_MAX_IMMEDIATE_ITERATIONS_PER_FRAME |
| 方法 | execute |
func execute() -> Variant: |
| 方法 | cancel |
func cancel() -> void: |
| 方法 | pause |
func pause() -> void: |
| 方法 | resume |
func resume() -> void: |
| 方法 | finish |
func finish() -> void: |
信号¶
repeat_completed¶
- API:
public
重复流程结束时发出。
常量¶
DEFAULT_MAX_IMMEDIATE_ITERATIONS_PER_FRAME¶
- API:
public
单帧最多连续执行的瞬时重复次数,避免无限重复的瞬时动作锁住主线程。
属性¶
action_factory¶
- API:
public
动作工厂。每次调用应返回一个动作对象;返回 null 会结束重复。
repeat_count¶
- API:
public
重复次数。0 表示无限重复,直到 cancel()、finish() 或工厂返回 null。
max_immediate_iterations_per_frame¶
- API:
public
单帧最多连续执行的瞬时重复次数。小于 1 时按 1 处理。
方法¶
execute¶
- API:
public
启动重复执行流程。
返回:action_factory 有效时返回 repeat_completed Signal;无效时返回 null。
结构:
return: Variant,返回 repeat_completed Signal 或 null。
cancel¶
- API:
public
取消重复流程并取消当前动作。
pause¶
- API:
public
暂停重复流程和当前动作。
resume¶
- API:
public
恢复重复流程和当前动作。
finish¶
- API:
public
立即完成重复流程并释放等待者。