Hola, me gustaría saber cómo se hace para que con el giroscopio gire. me voy a expresar mejor, el juego funciona los giros perfectamente en windows pero al pasarlo a android no responde como tendría que ser.
if image_index=4 and obj_nave.x<1
{
image_angle=-1
}
if image_index=4 and obj_nave.x>1
{
image_angle=+1
}
ya probé de varias formas me gustaría saber si hay que poner alguna condicion con android y windows por que en windows funciona pero para eso tengo otro codigo.
//teclado
if keyboard_check(vk_left)
{
x-=distancia_mover
if image_index=4
{
girar=false
}
}
if keyboard_check(vk_right)
{
x+=distancia_mover
if image_index=4
{
girar=true
}
}
if keyboard_check(vk_up)
{
y-=distancia_mover
}
if keyboard_check(vk_down)
{
y+=distancia_mover
}
else
//acelerometro
{
y+=device_get_tilt_x()*distancia_mover*3
x+=device_get_tilt_y()*distancia_mover*3
realmente soy nuevo en esto y me encanta, me gustaría que me puedan ayudar, aunque vivo pidiendo ayuda mas que aportar.
Separa los métodos de entrada de esta forma
[gml]
if (os_type == os_windows)
{
// código para teclado
}
else
{
// código para acelerómetro
}
[/gml]
Esta es una forma de girar un sprite
[gml]
xx = device_get_tilt_x();
yy = device_get_tilt_y();
zz = device_get_tilt_z();
image_angle = point_direction( 0,0, yy,xx );
[/gml]
casi,
Cita de: Clamud en Febrero 11, 2018, 06:45:03 PM
Separa los métodos de entrada de esta forma
[gml]
if (os_type == os_windows)
{
// código para teclado
}
else
{
// código para acelerómetro
}
[/gml]
Esta es una forma de girar un sprite
[gml]
xx = device_get_tilt_x();
yy = device_get_tilt_y();
zz = device_get_tilt_z();
image_angle = point_direction( 0,0, yy,xx );
[/gml]
ahora para que solo gire de izquierda a derecha lo puse asi
xx = device_get_tilt_x();
yy = device_get_tilt_y();
zz = device_get_tilt_z();
image_angle = point_direction( 0,0, xx,00 );
pero cuando mira a la izquierda queda de cabeza como si pasara a 90°
esta accion se implementa solo en el index=4
seria
if image_index = 4
{
image_angle = point_direction( 0,0, xx,00 );
}
else
{
image_angle = 1
}
Quiero decir que no logro girar a la izquierda sin que quede de cabeza u otra posición en grados, tiene que quedar en el eje x 1 -1
no logre hacer que quede como decía, gracias igual, también aprendí cosas nuevas para otros proyectos.
Creo ya entiendo mejor lo que quieres lograr. Puedes utilizar solo el valor del acelerómetro en el eje X o en el eje Y dependiendo de la orientación de pantalla que utiliza el juego, dejando un pequeño umbral para evitar que el sprite se esté volteando constantemente cuando el teléfono está casi horizontal.
[gml]
umbral = 0.2;
xx = device_get_tilt_x();
if (xx > umbral) image_xscale = 1;
if (xx < -umbral) image_xscale = -1;
[/gml]