如何动态更改1sprites的颜色与其他精灵?

时间:2014-05-22 08:08:14

标签: c++ cocos2d-x

我是cocos2dx的新手我已经用两种不同的颜色创建了2个精灵。现在我想要在精灵上触摸时用其他精灵颜色动态地改变精灵的颜色。是否有任何预定义的函数可以在c ++中动态更改颜色?

Right = CCSprite::create("frog1.png");
Right->setPosition(ccp(250,300));
this->addChild(Right,1);

Wrong = CCSprite::create("frog2.png");
Wrong->setPosition(ccp(250,300));
this->addChild(Wrong,1);

这是我的两个精灵。现在如何在触摸时动态更改frog1颜色的frog1颜色,或者在触摸时使用frog1.png颜色更改frog2.png颜色?

1 个答案:

答案 0 :(得分:0)

您需要创建图层将响应的touch events(因为这是Cocos2d-x v2而不是v3)。这涉及对CCLayerCCTargetedTouchDelegate进行子类化。然后添加您的侦听器,以便在图层触摸时,您可以循环遍历Sprite,然后决定触摸哪个,然后交换纹理。这是一般性的建议。要实现它,请查看:http://paralaxer.com/touch-tutorial-player-movement/