Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Xizotono en Agosto 27, 2014, 07:35:21 PM

Título: ¿Con draw y con sprite predefinido?
Publicado por: Xizotono en Agosto 27, 2014, 07:35:21 PM
Hola buenas, pues en el GM8 al poner en un objeto el evento draw pues el sprite predefinido se fulmina.

Bueno, hasta hay todo sabido, pero ahora me toca ponerle un draw al jugador principal y me da muchisima pereza crear todos los sprites desde el draw  y no desde el step como llevo usando.

¿Alguna manera de quitar eso y que no me borre el sprite predefinido?
Título: Re:¿Con draw y con sprite predefinido?
Publicado por: Alex188 en Agosto 27, 2014, 09:16:57 PM
No sé cómo tendrás hecho el diseño del programa, pero... ¿No sería mejor que sea otro objeto el que se encargue de todos los draw?
Título: Re:¿Con draw y con sprite predefinido?
Publicado por: Clamud en Agosto 27, 2014, 09:34:38 PM
Usa draw_self(). Por si acaso, recuerda que no es recomendable hacer muchas cosas en el evento "Draw".
Título: Re:¿Con draw y con sprite predefinido?
Publicado por: Xizotono en Agosto 27, 2014, 10:32:29 PM
Alex no, este evento lo tengo que hacer desde el objeto, no se otra manera de hacerlo xD.

Lo de draw_self() no me lo detecta GM8, uups se me olvido el icono xD
Título: Re:¿Con draw y con sprite predefinido?
Publicado por: Xizotono en Agosto 27, 2014, 10:42:31 PM
Bueno da igual, ya lo hice en 5 minutos xD.
Título: Re:¿Con draw y con sprite predefinido?
Publicado por: Silver_light en Agosto 28, 2014, 01:02:13 PM
podrías usar la funcion draw_sprite(sprite_index, image_index,x,y) o usar algo más específico como draw_sprite_ext(...) entonces equivaldría para cualquier sprite que pudiese tomar.
Título: Re:¿Con draw y con sprite predefinido?
Publicado por: Xizotono en Agosto 28, 2014, 03:18:09 PM
Cita de: Silver_light en Agosto 28, 2014, 01:02:13 PM
podrías usar la funcion draw_sprite(sprite_index, image_index,x,y) o usar algo más específico como draw_sprite_ext(...) entonces equivaldría para cualquier sprite que pudiese tomar.

Bueno, hice que cada accion (moverse,quieto,etc) pues tuviese un numero de sprite (var usuariosprite = X), y despues en el draw puse un switch de usuariosprite. Tipo asi:
switch(unidadsprite) {
case 1 : if unidaddireccion = 1 { draw_sprite_ext(unidadspriteprincipal,-1,x,y,-1,1,0,unidadspritecolor,1); }else{ draw_sprite_ext(unidadspriteprincipal,-1,x,y,1,1,0,unidadspritecolor,1); } break;
case 2 : if unidaddireccion = 1 { draw_sprite_ext(unidadspritemovimiento,-1,x,y,1,1,0,unidadspritecolor,1); }else{ draw_sprite_ext(unidadspritemovimiento,-1,x,y,-1,1,0,unidadspritecolor,1); } break;
case 3 : draw_sprite_ext(unidadspritetrabajoarbol,-1,x,y,1,1,0,unidadspritecolor,1); break;
case 4 : draw_sprite_ext(unidadspritetrabajomina,-1,x,y,1,1,0,unidadspritecolor,1); break;
case 5 : draw_sprite_ext(unidadspritemuerto,-1,x,y,1,1,0,unidadspritecolor,1); break;
}


Tambien indica la direccion y demas. ¿Alguna forma mas simple de hacerlo xd?