Skip to content

[spine] 通过 setTrackCompleteListener 监听时, 事件回调莫名丢失, 不被触发. #18670

Open
@finscn

Description

@finscn

Cocos Creator version

3.8.6

System information

all

Issue description

重现 bug 的代码如下:

    testTrackComplete() {
        this.spine.clearAnimation();
        const trackEntry = this.spine.setAnimation(0, "Start3", false);
        this.spine.setTrackCompleteListener(trackEntry, () => {
            console.log("track complete")

            // 1秒后 再次 调用 testTrackComplete() , 重复播放
            setTimeout(() => {
                this.testTrackComplete()
            }, 1000)
        })
    }

上述代码本应该 一直不断的重新播放动画.
但是实际上 播放两次 ( setTrackCompleteListener() 注册的事件只被执行1次) 就不再播放了.

如果不用 setTrackCompleteListener() , 而是使用 setCompleteListener() 则一切都符合预期.

Relevant error log output

No response

Steps to reproduce

.

Minimal reproduction project

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugNeeds TriageNeeds to be assigned by the team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions