Cc.sequence可以加入cc.repeatForever动作吗?

如题,cc.sequence可以加入cc.repeatForever动作吗?

你好。这个问题可以去查看Cocos Creator的API来解决,首先,我们先去看cc.repeatForever()函数,可以看到该函数返回的是一个ActionInterval类型的值,然后我们去看ActionInterval的继承关系:ActionInterval 继承于 FiniteTimeAction。
然后我们再去看cc.sequence()函数,发现他的参数类型是 Array | FiniteTimeAction。
所以理论上来说,cc.sequence是可以加入cc.repeatForever动作的。
不过 实践是检验真理的唯一标准 ,所以我觉得有时间还是自己试一下就好。

3赞

授人以鱼不如授人以渔,赞!

1赞

先赞一下 @MOONLIGHTPOET 的思考

的确,cc.RepeatForever 是继承自 cc.ActionInterval 的,不过很可惜的是,它没有办法被加入到 cc.sequence 或者 cc.spawn 中,因为它是 ActionInterval 中的特例,它是永远执行的一个动作,所以实际上并不是 Finite Time Action。继承关系是为了更加方便得复用 update 逻辑,然而这可能是当初设计时投机取巧的一种做法。

所以结论是,的确理论上所有的 FinitTimeAction 都应该可以被添加到 Sequence 中,然而 RepeatForever 并不行,所以这里是我们文档上的疏漏,我会加强一下。感谢大家发现这个问题

1赞

官方文档的游戏示例,为什么是可以的,新手,求解
return cc.repeatForever(cc.sequence(jumpUp, jumpDown, callback));
文档点这
@panda

人家说的是不能 cc.sequence(cc.repeatForever(…))

1赞

哈哈,不是很懂,多谢指点,打扰各位了
@wang_bin123456