Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Kakashi en Noviembre 15, 2010, 09:47:26 PM

Título: Problema con ?ngulos.
Publicado por: Kakashi en Noviembre 15, 2010, 09:47:26 PM
Bueno, en si al primer giro da la vuelta perfectamente. Pero cuando regresa a la posici?n original el sprite luce de cabeza.

Intenten probar un giro, y luego vuelven a regresa cuando empez? y el arma est? volteada. Ya intent? usando image_yscale pero nada :(.

Pueden editarlo en GM8, s?lo que me acomoda m?s usar el 7.

Siento hacer este tipo de preguntas, pero hace mucho que no toco el Game Maker(2 a?os) desde que me dediqu? al pixel art.
Título: Re: Problema con ?ngulos.
Publicado por: Genesis en Noviembre 15, 2010, 10:29:51 PM
Ya descubri tu error,
Te complicas haciendo eso de image angle, puedes usar mas facilmente mouse_x>x y mouse_x<x
Mira, ahi corregi tu engine.
y mira tu error
En las dos variables pusiste image_yscale=-1 ,     y sse supone que en una deberia ser 1 y en la otra -1.
Ahi esta el engine mejorado y menos complicado.
esta para gm8, si no lo tienes, aui tienes el codigo=

Evento Step para shotgun

[gml]image_angle=direction
direction=point_direction(x,y,mouse_x,mouse_y)

if mouse_x>x
{
image_yscale=1
};

else

if mouse_x<x
{
image_yscale=-1
};

x=ryan_char.x-2*sign(ryan_char.image_xscale)
y=ryan_char.y+5[/gml]

PD.
Ahh otra cosa
Si vas a hacer un platform shooter, en ves de que el personaje se mueva con las flechas, usa WASD, es mas ergonomico para el jugador y la jugabilidad seria el doble de buena, aui te corrijo eso.

Evento Step ryan_char

[gml]gravity=place_free(x,y+1)* 0.9

if keyboard_check(ord('A'))
{
for(i=0;i<max_slope;i+=1)
{
if place_free(x-move_speed,y-i)
{
x-=move_speed
y-=i
sprite_index=ryan_walk
image_xscale=-1
image_speed=0.5
break;
}
}
};

if keyboard_check(ord('D'))
{
for(i=0;i<max_slope;i+=1)
{
if place_free(x+move_speed,y-i)
{
x+=move_speed
y-=i
sprite_index=ryan_walk
image_xscale=1
image_speed=0.5
break;
}
}
};
if keyboard_check(ord('W'))&& place_free(x,y-1)&& !place_free(x,y+1)
{
vspeed=-5
};

if keyboard_check_released(all)
{
sprite_index=ryan_stand
}[/gml]
Título: Re: Problema con ?ngulos.
Publicado por: Hackware en Noviembre 15, 2010, 10:31:50 PM
Aqu? te dejo mi correci?n:

[gml]image_angle=point_direction(self.x,self.y,mouse_x,mouse_y);

if (image_angle>90&&image_angle<=270) image_yscale=-1;
else image_yscale=1;

self.x=ryan_char.x-2*sign(ryan_char.image_xscale);
self.y=ryan_char.y+5;[/gml]

EDITO: El m?o es s?lo una simplificaci?n del tuyo mientras que el de Genesis es un mejor m?todo, al menos para evitar confusiones. Al final los dos hacen lo mismo.
Título: Re: Problema con ?ngulos.
Publicado por: Kakashi en Noviembre 15, 2010, 10:33:29 PM
Quer?a usar un poco lo de los ?ngulos.
Pero en fin...ahhh con que eso era! Malditos signos!.

Gracias =).
Título: Re: Problema con ?ngulos.
Publicado por: Genesis en Noviembre 15, 2010, 11:23:56 PM
Ok,
De nada.