2012-02-18 9 views
5

Voglio fare flusso di luce che si sposta dal punto iniziale al punto finale nel mio gioco. quindi come fare flusso di luce in cocos2d? e voglio anche fare una riflessione su quel flusso di luce quando tocca qualsiasi superficie. quindi qual è la logica per far fluire la luce e fare riflessioni? qualche idea?Flusso di luce in cocos2d

mi aiuti ..

+0

Questa è una domanda incredibilmente ampio. Come sono rappresentati i tuoi oggetti di gioco? In altre parole, quando dici che vuoi che la luce rifletta quando tocca qualsiasi superficie, qual è la tua implementazione di quella superficie? Stai usando box2d, semplici sprite vecchi o qualcos'altro? – jonmorgan

+0

@spookyjon: innanzitutto grazie per la risposta. Si tratta di condurre un flusso luminoso da una parte all'altra della stanza, ruotando gli specchi in modo che la luce stessa cambi direzione. quindi qualche idea al riguardo? sto usando semplice cocos2d senza alcun motore fisico. –

risposta

2

Si potrebbe fare qualcosa di semplice come disegnare una linea con ccdrawLine. Ho realizzato dei laser che disegnano semplicemente una linea rossa in questo modo. L'altro modo è usare un sistema/emettitore di particelle. Io uso Particle Designer di 71squared ma ce ne sono altri là fuori. Le tue opzioni sono infinite nel modo in cui potresti far apparire il tuo raggio. Devi solo sperimentare le impostazioni per ottenere l'effetto desiderato.

Per quanto riguarda il riflesso, utilizzo box2d e un raggio di lancio. Avvia il lancio del raggio dove inizia il raggio e poi crea un nuovo raggio sul primo oggetto che colpisce.

Ecco un buon tutorial su raggi getta: http://www.raywenderlich.com/4653/intermediate-box2d-physics-forces-ray-casts-and-sensors

+0

grazie per la tua risposta. e come fare il riflesso quando tocca qualsiasi superficie e anche il flusso luminoso si sposterà in un'altra direzione in base alla superficie? Qualche idea o logica? –

+0

Se segui il tutorial sopra e usi box2d, il cast di ray ti darà un riferimento all'oggetto colpito e anche un normale. La legge di riflessione afferma "l'angolo che il raggio incidente fa con il normale è uguale all'angolo che il raggio riflesso fa allo stesso normale" - http://en.wikipedia.org/wiki/Reflection_(physics) – tassinari

+0

grazie tu molto. Proverò in modo provocatorio. –