2011-02-02 2 views
6

Vedo una macro CCARRAY_FOREACH in coccos2d, in realtà che cosa fa? possiamo invece fare una soluzione alternativa ? Sto usando il seguente codice per spriteBatchNode?Che cos'è CCARRAY_FOREACH in coccos2d?

 CCARRAY_FOREACH([spriteBatch children], sprite) 
{ 

    ................... 
} 
+0

correlati, http://www.learn-cocos2d.com/tag/ccarray_foreach/ –

+0

La risposta di ssteinberg è corretta. si prega di aggiornarlo – OMGPOP

risposta

1

esso è una macro per connettere a ciascun oggetto all'interno di un CCArray ... alternativa sarebbe foreach obiettivo-c for (object in array) che va come questo:

for (CCSprite *sprite in [spriteBatch children]) { 
    ... 
} 

questo è per NSArray e NSMutableArray ma Penso che dovrebbe funzionare bene anche per CCArray.

7

L'altra risposta è in realtà sbagliata. CCARRAY_FOREACH non è una macro per l'enumerazione rapida, è una sostituzione per l'enumerazione veloce per CCArray s. CCARRAY_FOREACH è un po 'più veloce dell'enumerazione veloce su un NS(Mutable)Array (circa il 10%), quindi è meglio usarlo se si utilizza CCArray s.
Controllare l'intestazione CCArray.h per vedere cosa sia effettivamente la macro.