Estimados, tengo el siguiente problema:
Estoy usando el evento Draw para cambiar el sprites de mi objeto (Player), sin embargo, al iniciar el juego el objeto lo crea sin ningun sprite.
Create
Start = 1
Dir = "R"
STEP
if Start = 1
{
if keyboard_check_direct(global.Right) {Dir = "R" image_index = 0 Start = 2}
if keyboard_check_direct(global.Left) {Dir = "L" image_index = 0 Start = 2}
}
DRAW:
if Start = 1 sprite_index = spr_player_front
if Start = 2
{
if Dir = "R" sprite_index = spr_player_stand
if Dir = "L" sprite_index = spr_player_stand image_xscale = -1
}
la varibale global.right y global.left estan en otro objeto, tambien presente en la misma room
Muchas gracias
Chequea que la opción "visible" esté activada
(https://dl.dropboxusercontent.com/u/39289049/Sprii.bmp)
Si, esta activa.
No se por que no logro ver el personaje...
En Draw debes poner: draw_self();
Cita de: focox2099 en Febrero 05, 2016, 08:57:28 PM
En Draw debes poner: draw_self();
Ahora vi que estabas en Game Maker 8 Sorry :-[
Cuando en un objeto con sprite usas el evento draw, debes poner en el evento DRAW:
En GM8:
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
En GMS:
draw_self();
Pero en ese caso, que tendria que usar para hacer un mirror en mi sprite. Porque en el codigo anterior use Image_xscale = -1... acabo de probarlo y no funciona con xscale
Por otra parte, me podrias explicar ¿por que funciona Draw_sprite_ext y no con sprite_index? tengo un ejemplo que lo hace con sprited_index y funciona ¿?
¡Muchas gracias porque hasta el momento el Sprite aparece!
EDITO
Ya solucione la pregunta anterior, solo puse un -1 en:
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha)
Pero aun asi me gustaria saber por que no funcionaba sprite_index
Muchas gracias!!
ardilla321 no te funcionaba sprite_index porque no es una función que se coloque en el evento Draw, como dijo Ynfiniti, si en tu objeto colocás el evento Draw se va a eliminar el sprite asignado y tenes que redibujarlo. Si en tu objeto no dibujás nada poné el código que tenías en el evento Draw en Step y te va a funcionar.
Perfecto! Muchas gracias por la aclaracion
Cambio el nombre del tema a solucionado.
Nuevamente, Muchas gracias a todos!
Mejor cambia el código del evento Draw a End Step, así evitas usar draw_self()