Junio 26, 2012, 09:06:40 PM Ultima modificación: Junio 27, 2012, 12:47:50 AM por J.E.A
Tengo un problema con un juego de naves de Star Soldier de NES, le hice que al dispararle a un objeto cambie de imagen a sprite destruido. Tambien pude hacer que cuando este destruido las municiones de mi nave traspasen la imagen cuando ya el objeto tiene el sprite destruido. El problema viene cuando pongo mas de 1 objeto, por ejemplo. Si pongo mas de 1 objeto los destruye, pero la municion de mi nave se destruye al colisionar con el objeto, cuando queda un solo objeto ahi las municiones pueden transpasar el objeto cunado tiene el sprite de destruido. No es facil explicarlo, igual les dejo el adjunto para que lo vean porque con codigo es complicado tambien saber cual es mi problema. Los que conocen ese juego seguro saben a que me refiero. Igual, en un room puse un objeto, en el segundo room puse mas objetos, ahi en el segundo room se van a dar cuenta del problema


Cada día que pasa estoy mas enamorado de Holly Earl.

Ya encontré el error, el problema es que la variable global.destruido afecta a todos los enemigos, entonces un enemigo destruido afecta a los sanos y viceversa. Para eso necesitas una variable independiente de cada enemigo
Para eso cambié los global.destruido a simplemente destruido (sin el global)
Después para comprobarlo con la baja en vez de usar if global.destruido=0 usas other.destruido=0, eso se traduce "si el destruido del otro es 0"
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Cita de: Mgbu en Junio 26, 2012, 09:25:22 PM
Ya encontré el error, el problema es que la variable global.destruido afecta a todos los enemigos, entonces un enemigo destruido afecta a los sanos y viceversa. Para eso necesitas una variable independiente de cada enemigo
Para eso cambié los global.destruido a simplemente destruido (sin el global)
Después para comprobarlo con la baja en vez de usar if global.destruido=0 usas other.destruido=0, eso se traduce "si el destruido del otro es 0"

Gracias!  XD
Cada día que pasa estoy mas enamorado de Holly Earl.