reverse() 在 cocos2dx 中的生成上

reverse() on spawns in cocos2dx

本文关键字:cocos2dx reverse      更新时间:2023-10-16

我正在阅读 cocos2dx 关于动作的文档(链接:http://www.cocos2d-x.org/wiki/Actions)。他们在底部提到了序列和生成的反向功能。

我只是有点困惑反向会对生成产生什么影响,因为根据我的理解,cocos2d 公司行为中的生成会一起发生并使它们同时发生?如果这是真的,那么至少在视觉上,几乎不会对生成产生任何变化?文档中有一行(潜在的)解释说:"然而,这不仅仅是只是反向运行。它实际上是在反向操纵原始序列或生成的属性。是因为这个"属性",真的存在一些差异,可能是在底层的某个地方吗?有人可以解释一下吗?

我不认为Spawn::reverse()很特别。我喜欢 Cocos2d-x 的一件事是,我可以通过单击 F12 查看源代码。

Spawn* Spawn::reverse() const
{
    return Spawn::createWithTwoActions(_one->reverse(), _two->reverse());
}

//Definition of Spawn
Spawn{
//...
protected:
    //FiniteTimeAction is a derived class of Action
    FiniteTimeAction *_one;
    FiniteTimeAction *_two;
private:
    CC_DISALLOW_COPY_AND_ASSIGN(Spawn);
};

是的,反向不会在视觉上显示任何内容,因为它会反转每个动作并且不会有任何移动。正如我举一个跳跃的例子,并使用序列反转精灵的跳跃。

auto jump = JumpBy::create(3,Vec2(100, 0),50,3);
auto jumpBack = jump->reverse();
sceneSprite->runAction(Sequence::create(jump,jumpBack, nullptr));