Hola a todos! :D
Vuelvo a estar por aqui, esta vez se trata de otro mas de mis problemas pero mucho mas facil que cualquiera de todos los anteriores que he tenido, o almenos el juego es mas sencillo jeje.

Resulta que estoy realizando un space invaders, y tengo todo excepto el objeto este de la proteccion que tenia la nave, que si la da el disparo se rompe JUSTO por donde ha dado el disparo, y puede atraversarlo una vez golpeado, se me habia ocurrido poner un sprite en negro encima o algo asi pero claro, no romperia lo de abajo, y realizarlo por partes, la verdad no sabria ni empezar xD otra cosa que se me ocurrio, para el enemigo es facil, que solo dispare cuando este en tal posicion y segun la posicion el tipo de disparo es de un tipo y segun ese tipo colisione se rompe por uno u otro sitio, pero me sigue pareciendo complicado por que el propio player tambien tiene que poder romperlo este donde este.

Si alguien me pudiera ayudar se lo agradeceria mucho.

Muchas gracias y un saludo :D

No se mucho de programacion, pero se una manera...

primero, haz objetos chiquitos cuadrados, y ponlos en forma de escudo

luego alineale el "bullet" a una cuadricula del ancho de ese objeto peque?o (de preferencia de 8x8)

y yap

Tengo tu soluci?n, crear una sprite volatil con surfaces. Te hice un ejemplo




Muchas gracias a los dos, Haku, tu respuesta no es mala, ya que no se me habia ocurrido, pero me parece un poco pesado tener que dibujar cada poco todos  esos objetos, y puede ser un poco engorroso, pero no la descarto, tu solucion Texic, tengo que decir que la acabo de probar, y me encanta, pero el problema que tengo que es por lo que no me acaba de convencer, es si puedo meter sprites ya dibujados o tengo que dibujarlo por codigo como has hecho con el cuadrado, ya que dibujar un rectangulo es sencillo, pero la figura esa con semicirculos y demas ya se complica mas, si se puede me gustaria que me explicaras como se puede hacer para hacerlo con un sprite y no con una primitiva, (ojo que alomejor esque no entiendo bien el codigo, por que se programar pero si te digo la verdad no se muy bien que hacen todas las ordenes, y tal y como yo lo he interpretado puedo estar confundido y ser tan simple, como en vez de dibujar una primitiva dibujar un sprite, pero me he liado al ver el script de colision tambien y me gustaria que me lo explicases)

Un saludo!

#4 Julio 05, 2010, 06:25:49 PM Ultima modificación: Julio 05, 2010, 07:00:55 PM por Texic
Si, en vez de draw_rectangle en el create pon?s draw_sprite. El evento de colisi?n, lo hice asi para que chequee colisi?n de manera hiper precisa. Porq la velocidad lo hace pegar saltos de una posici?n a otra, y el Colision hace que avanze de a uno y chequee si hay colision o no. Por ahora el script de colision cheque ? colision con todos los objetos, pero pod?s especificar en loa parte q dice all.

PD: Me equivoque en una cosita, q en realidad lo hace m?s complicado en vano, ahi te dejo el adjunto nuevo




Hola de nuevo, lo he estado intentando con sprite, en vez de rectangle, y no hace nada, no se destruye sino que sigue como si no le hubiera dado, supongo que sera por que no modifica la superficie del sprite, y por que el sprite index sigue siendo el sprite principal, pero no hay forma, podrias modificar el ejemplo con un sprite aunque fuera un simple rectangulo pero que fuera sprite?
Muchas gracias, Un saludo!

Woaw  nunca se me abr?a  ocurrido hacerlo as? texic.
ya hice que en lugar de rect?ngulo tenga un sprite, te lo dejo adjunto.

#7 Julio 06, 2010, 07:00:47 PM Ultima modificación: Julio 06, 2010, 07:10:01 PM por Texic
Claro, exactamente como lo hizo brunoxzx, me falt? decirte que ten?as que cambiar el tama?o de la surface, y la sprite que se recrea en el script Colision

EDIT: Ya, cambi? el c?digo, ahora s?lo tienes que cambiar el tama?o del surface al crearse, el resto se hace autom?tico. Recuerda que el tama?o de la surface debe ser mayor o igual al del sprite