5

In Cocos2d momento ho una molto semplice emettitore di particelle inizializzato simili:Cocos2d - Particelle seguire l'emettitore invece di stare in posizione sono stati rilasciati

turnEmitter = [[CCParticleFlower alloc] init]; 
    turnEmitter.texture = [[CCTextureCache sharedTextureCache] addImage:@"Pocket.png"]; 
    [self addChild:turnEmitter z:1]; 
    turnEmitter.scale = 0.7f; 
    turnEmitter.positionType = kCCPositionTypeFree; 

È semplicemente aggiunto direttamente al livello di gioco.

Questo emettitore segue uno sprite intorno allo schermo in questo modo (accade nel metodo di aggiornamento):

turnEmitter.position = turnEmblem.position; 

Ora il problema è che la coda di particelle lasciato l'emettitore si muove con l'emettitore, anziché le particelle rilasciate restavano semplicemente nella posizione in cui erano state rilasciate, il che conferiva un aspetto davvero strano e stupido.

Quello che voglio fare è che le particelle non seguano affatto l'emettitore dopo che sono state generate, purtroppo non sono stato in grado di trovare alcun modo di farlo.

Come si può vedere dal codice di cui sopra ho già cercato in giro, e trovato persone che suggerisce che cambiano la positionType proprietà del emettitore, anche se ho provato tutte le possibilità e non risolve il problema.

Qualcuno ha qualche idea su cosa potrebbe essere?

+0

"che dà un davvero strano e stupido effetto guardando" lol –

+1

Sei sulla strada giusta, la modifica del positionType dovrebbe risolvere il problema, almeno uno dei positionTypes dovrebbe. Sei sicuro di aver provato tutte le opzioni e testato ognuna? – LearnCocos2D

+0

Ehi :) Sì, sono abbastanza sicuro di aver provato a utilizzare tutte le opzioni possibili. Sfortunatamente non sono in grado di provarlo, ma lo farò più tardi oggi. Riferirò indietro con le proprietà esatte che ho provato allora :) Grazie per aver dedicato del tempo per aiutare! – CodingBeagle

risposta

8

Si consiglia di provare a cambiare "emitterMode" anche in "kCCPositionTypeFree". Ho avuto un problema simile in cui ho avuto l'emettitore come figlio di un CCNode. Il CCNode veniva ruotato, ma le particelle e l'emettitore non lo erano. Allo stesso modo sembrava stupido perché l'illusione della rotazione era rovinata. Ho bisogno di impostare il seguente sul mio emettitore:

emitter.emitterMode = kCCPositionTypeRelative; 
emitter.positionType = kCCPositionTypeRelative; 
+1

emittermode non ha nulla a che fare qui. Dovrebbe essere impostato su modalità gravità o modalità raggio. – zeroliu