cocos2d让一个精灵闪烁,它变得不可见

时间:2012-02-12 14:39:05

标签: objective-c cocos2d-iphone sprite

我试图让我的精灵眨眼,但它只是消失,我搜索谷歌,但我找不到解决方案,继续我正在做什么:

    CCBlink * blinker = [CCBlink actionWithDuration: 0.5 blinks: 1];  
 [player runAction: blinker];

当我的两个精灵发生碰撞时调用此方法,当发生碰撞时,我希望“玩家”精灵闪烁几秒钟。此刻,当精灵碰撞时,'玩家'精灵变得不可见......谢谢

3 个答案:

答案 0 :(得分:3)

CCBlink似乎可以通过在指定的持续时间内在指定次数内切换精灵的可见性。根据您设置的持续时间,可能有时会在操作结束时以“关闭”可见状态结束(非常错误,是的,我之前也有过),这是不太理想的

两个建议: (1)玩眨眼次数。 (2)始终强制精灵在闪烁结束时可见:

添加:[CCShow操作]到眨眼动作结束。您可以将这两个操作都串到CCSequence中。

答案 1 :(得分:0)

验证您何时(以及在何处)处理'onCollision'类型的事件时,不要从其父级中删除精灵。

答案 2 :(得分:0)

Blink动作是错误的。我总是使用以下内容来保证对象在动画结束时仍然可见:

Sequence* action = Sequence::create(Blink::create(BLINK_DURATION, BLINK_TIMES), Show::create(), NULL);