Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: luiiz en Julio 24, 2010, 05:35:56 PM

Título: Cambio de origen a un sprite
Publicado por: luiiz en Julio 24, 2010, 05:35:56 PM
Hola Makeros!! estoy creando un juego y surgio la necesidad de cambiar el origen a un sprite dentro del juego!!

quisiera saber si esto es posible! :D
Título: Re: Cambio de origen a un sprite
Publicado por: slampdesign en Julio 24, 2010, 06:55:28 PM
hola, deberias explicar que es lo que quieres hacer, porque al cambiarle el origen a un sprite tambien te cambiara la posicion de este en la room.
Título: Re: Cambio de origen a un sprite
Publicado por: luiiz en Julio 24, 2010, 07:49:34 PM
bueno estaba hablando de cambiarle origen al sprite no ala instance pero me explicare mejor:

cuando creas un sprite le colocas un origen.
http://s3.subirimagenes.com:81/privadas/previo/thump_1097043ffff.png (http://s3.subirimagenes.com:81/privadas/previo/thump_1097043ffff.png)


lo que quisiera saber es si ese origen se puede cambiar dentro de la room.
Título: Re: Cambio de origen a un sprite
Publicado por: slampdesign en Julio 24, 2010, 08:34:16 PM
ok, yo se que es al sprite, pero por eso te digo, que si le cambias el origen al sprite (en tiempo real en la room) te va a cambiar la posicion , de todas maneras no se si eso se pueda....
Título: Re: Cambio de origen a un sprite
Publicado por: luiiz en Julio 24, 2010, 10:35:32 PM
ok muchas gracias de todas formas ;)
Título: Re: Cambio de origen a un sprite
Publicado por: Ciberman en Julio 25, 2010, 03:11:16 AM
NO se puede cambiar el origen del sprite en tiempo real sin crear un nuevo sprite.
Primero leete del manual el "Modificando recursos" > "Sprites"
Luego haz este pseudocodigo, que estoy apurado...
(ojo que gastar?a muchos recursos, no vale la pena si lo que quieres es solo una rotaci?n)

Exporta tu imagen en un formato PNG

cuando nesecites cambiar el origen solo remplazas por el del archivo
Título: Re: Cambio de origen a un sprite
Publicado por: Hackware en Julio 25, 2010, 07:24:18 AM
Una opci?n m?s simple es que uses el draw_sprite() con las cordenadas x y y corregidas a tus necesidades. Por ejemplo, suponiendo que el origen del sprite es (4,4) y deseas que para una sola instancia sea (16,12) escribe el siguiente c?digo en el evento Draw de la instancia que deseas corregir:

draw_sprite(sprite_index,-1,x+12,y+8);

Esto funciona bien s?lo en el aspecto visual (no l?gico) para objetos sin animaciones complejas.
Título: Re: Cambio de origen a un sprite
Publicado por: luiiz en Julio 25, 2010, 10:31:12 PM
bueno gracias por las respuestas!! era solo una pregunta ya que queria hacer rotar un objeto alrrededor de otro mas facilmente que con otros scrips que hay...y pues se me ocurrio que si cambiaba el origen del sprite al mismo punto de origen de otro objeto, estos girarian desde un punto radial ala misma distancia,no se si me explique pero bueno, teoria descartada =(

http://s2.subirimagenes.com/privadas/previo/thump_1098971sin-ttulo.png (http://s2.subirimagenes.com/privadas/previo/thump_1098971sin-ttulo.png)
Título: Re: Cambio de origen a un sprite
Publicado por: Hackware en Julio 26, 2010, 01:44:42 AM
Hablas con mucha matem?tica entre los dientes. XD

Si te entend? bien quiz? no sea necesario cambiar el punto origen. Prueba con esto y dime si te sirvi? de algo: http://www.comunidadgm.org/index.php?topic=12111.0

?Saludos! :-)