运行时找不到__private

let anim = this.shieldNode.getComponentInChildren(SkeletalAnimation);
anim.once(__private.cocos_core_animation_animation_state_EventType.FINISHED, () => {
    this.shieldNode.active = false;
})

__private只有定义没有值,断点看了下还是undefined,监听事件直接改成"finished"可以正常工作但是编辑器会报错,不属于cocos_core_animation_animation_state_EventType这个枚举类型= =,有什么解决办法吗?

@gameMaster

估计目前不好解决,已经反馈给相关同学~

去cc.d.ts里找定义的别名:
export class Animation extends Animation_base {
static EventType: typeof __private.cocos_core_animation_animation_state_EventType;

用这个Animation.EventType就行。不清楚为啥要先弄个__private然后再定义一个正常类型名用于别名,这样代码提示很混乱,刚入坑时我满脸的痛苦面具。

哈哈,我也想吐槽这个。现在的cc.d.ts确实有待改进呀,一键生成的就是没那么靠谱

找到了多谢,我之前也觉得应该有类似Node事件的EventType来着,Animation上没找到EventType,原来我是在原生的Animation上找没有引用cc.Animation


这示例得改了,
不上论坛 怕不找不到问题了。哈哈

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。