Buenas tengo un joystick que me descargue de aqui y lo modifique un poco, bueno me gustaria que por ejemplo al mover el joystick en las direccion que quisiera que el personaje siguiera en movimiento y no se parar. muchas gracias
-tengo un evento create en el joystick asi:
str=""
left_device_id=-1
left_start_x=-1
left_start_y=-1
analog_width=sprite_width/2
analog_height=analog_width
left_analog_direction = -1
left_analog_distance = -1
lad=-1
- Otro un evento step en el joystick asi:
for (i=0;i<4;i += 1)
{
if device_mouse_check_button_pressed(i,mb_left)
{
if device_mouse_raw_x(i) < window_get_width()/2
{
left_device_id=i
left_start_x=device_mouse_raw_x(i)
left_start_y=device_mouse_raw_y(i)
}
else
{
left_device_id=i
left_start_x=device_mouse_raw_x(i)
left_start_y=device_mouse_raw_y(i)
}
}
}
if left_device_id > -1
{
left_analog_direction = radtodeg(arctan2((device_mouse_raw_y(left_device_id)-(left_start_y)),(device_mouse_raw_x(left_device_id)-(left_start_x)+.000001)));
left_analog_distance = sqrt(sqr(device_mouse_raw_x(left_device_id)-(left_start_x))+sqr(device_mouse_raw_y(left_device_id)-(left_start_y)));;
}
str=""
if device_mouse_check_button_released(left_device_id,mb_left)
{
left_device_id=-1
left_analog_direction=-1
left_analog_distance = -1
}
lad=-1
if abs(left_analog_distance) > 15
{
lad=point_direction(left_start_x,left_start_y,device_mouse_raw_x(left_device_id),device_mouse_raw_y(left_device_id))
}
- Y otro evento draw gui asi:
if left_device_id>-1
{
str="left direction= " + string(left_analog_direction) + "#left distance= " + string(left_analog_distance)
draw_sprite(bjuego,0,left_start_x,left_start_y)
if left_analog_distance > analog_width {left_analog_distance=analog_width}
if left_analog_distance < -analog_width {left_analog_distance=analog_width}
point_x=(left_start_x)+left_analog_distance*(cos(left_analog_direction*pi/180));
point_y=(left_start_y)+left_analog_distance*(sin(left_analog_direction*pi/180));
}