在cocos2dx中生成的reverse()

时间:2016-02-19 21:24:41

标签: c++ cocos2d-x

我正在阅读有关动作的cocos2dx文档(链接:http://www.cocos2d-x.org/wiki/Actions)。他们提到序列的反向函数和底部的产卵。

我只是有点困惑,因为根据我的理解,在cocos2d公司行动中产生并同时发生它们会产生什么样的差异?如果这是真的反转将几乎没有产生变化,至少在视觉上?在文档中有一条(潜在的)解释说"但它不仅仅是 只是反向运行。它实际上也反过来操纵原始Sequence或Spawn的属性。"是因为这个"属性"确实存在一些差异,可能是底层的某个地方?有人可以解释一下吗?

2 个答案:

答案 0 :(得分:0)

我认为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);
};

答案 1 :(得分:0)

是的,反过来不会在视觉上看到任何可见,因为它将反转每个动作并且不会移动。我给出了一个示例jumpBy并使用序列反转精灵的跳跃。

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