2012-02-12 94 views
8

我嘗試讓我的精靈閃爍,但它只是消失了,我已搜查谷歌,但我不能找到一個解決方案,繼承人什麼IM做:的cocos2d得到一個精靈閃爍,它變得不可見

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

這個方法在我的兩個精靈發生碰撞時被調用,當碰撞發生時,我想'玩家'精靈閃爍幾秒鐘。此時,當精靈發生碰撞時,「玩家」精靈變爲隱形....謝謝

+0

您應該接受答案或評論。 – phlebotinum

回答

0

驗證您何時(以及在哪裏)處理'onCollision'類型的事件時,您不會從其父項中移除精靈。

+0

是的,當精靈發生碰撞時,什麼也沒有發生,我只想讓玩家精靈眨眼,所以我已經把上面的代碼放在'if(if(CGRectIntersectsRect(playerRect,rockRect)0' – sahil

3

CCBlink似乎通過在給定的持續時間內在給定次數內打開和關閉精靈的可見性而工作。根據你設定的時間長短,你可能會在動作結束時有一個「關閉」的可視狀態(非常麻煩,以前也有過),這是不太理想的。

兩個建議: (1)玩轉眨眼次數。 (2)始終強制精靈在眨眼結束時可見:

將[CCShow動作]添加到眨眼動作的結尾。您可以將這兩個操作串入CCSequence中。

+0

+1這個工作。我需要(有趣的是,我在兩週前遇到了這個問題,當時我建議OP接受一個答案,現在我使用它) – phlebotinum

0

閃爍的動作是越野車。我總是使用以下內容來保證對象在動畫結束時保持可見:

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