2012-02-12 18 views
8

im benim sprite yanıp sönmesini yapmaya çalışıyorum görünmez hale gelir, ancak yapıyor heres ne im sadece ben google arandı, kaybolur, ama bir çözüm bulamıyorum:Cocos2d, bu

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

Bu yöntem, sprite'mın ikisi çarpıştığında, çarpışma gerçekleştiğinde çağrılır, 'player' sprite'ının birkaç saniye yanıp sönmesini istiyorum. Şu anda, spritelar çarpıştığında, 'player' sprite görünmez hale gelir .... teşekkürler

+0

Bir yanıtı veya yorumu kabul etmelisiniz. – phlebotinum

cevap

0

'onCollision' türündeki olayları ne zaman (ve nerede) işlediğinizden, yazım nesnesini ebeveyninden kaldırdığınızı doğrulayın.

+0

Evet, spritelar çarpıştığında, hiçbir şey olmuyor, ben sadece oyuncunun sprite'ının yanıp sönmesini istiyorum, bu yüzden yukarıdaki kodu 'if (if (CGRectIntersectsRect (playerRect, rockRect) 0' – sahil

3

CCBlink, grafiğinizin görünürlüğünü, verdiğiniz belirtilen süre içinde belirli bir sayıda açıp kapatarak çalışır. Ayarladığınız süreye bağlı olarak, bazen eylemin sonunda bir “kapalı” görünürlük durumuyla sonlanabilir (çok önce evet, daha önce de vardı), ki bu pek istenmez.

İki öneri: (1) Yanıp sönen sayılarla etrafta gezin. (2) Görüntüyü her zaman göz açıp kapayıncaya kadar yanıp sönmeye zorlayın:

Ekleme: [CCShow eylemi], göz kırpma işleminizin sonuna kadar. Her iki eylemi de CCSequence içine çekebilirsiniz.

+0

+1 bu işe koymuş olurum. İhtiyacım vardı. (Bu iki hafta önce karşılaştığımda komik bir cevap kabul etmeyi önerdim ve şimdi kullanıyorum) – phlebotinum

0

Göz kırpma eylemi buggy. Nesnenin animasyonun sonunda görünür kalmasını garanti etmek için her zaman aşağıdakileri kullanırım:

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