Estoy haciendo otra práctica utilizando el mecanismo de juego de Geometry Dash. Y quisiera saber como hago para que mi personaje gire cuando salte o esté en el aire como en el juego original de Geometry Dash.
Porfa, enseñenme :D
Se agradece el tiempo que me tomen de responder :)
tienes algun codigo para el movimiento?
Para el movimiento le puse al objeto la velocidad horizontal en 6. Y salta al presionar la tecla <Space>.
¿Usas código o acciones DnD?
Si el juego es de plataformas, ¿cuál es el valor de la gravedad?
Uso DnD, y el juego es como el Geometry Dash, la gravedad que tiene es de 0.9. Salta al presionar la tecla <Space>
Cita de: NiuWeb en Septiembre 09, 2017, 05:43:38 PM
¿Usas código o acciones DnD?
Si el juego es de plataformas, ¿cuál es el valor de la gravedad?
Ésta es una captura de la prueba que hice.
Y si uso DnD, gravedad 0.9
Mejor usa GML, es más rápido programar que en DnD.
Encontré un método de girar como en Geometrý Dash. Es importante no girar la caja de colisión (no modificar image_angle) para no complicar las colisiones, lo mismo se hace en GD.
Evento Create
[gml]
vAngular = 8; //velocidad angular
angulo = 0; //angulo del sprite
tope = 270; //angulo tope cuando aterriza
[/gml]
Eveno Step
[gml]
if place_meeting( x, y+1, obj_piso ) //tocando el piso
{
if( angulo > tope ) //si no ha llegado al tope
angulo -= vAngular; //girar
if( angulo <= tope ) //si ha llegado al tope
angulo = tope; //detener
}
else //en el aire
{
angulo -= vAngular; //girar
if( angulo < tope )tope -= 90; //nuevo tope
if( tope < 0 )tope += 360; //evitar tope negativo
if( angulo < 0 )angulo += 360; //evitar angulo negativo
}
[/gml]
Evento Draw
[gml]
draw_sprite_ext( sp0,0, x,y, 1,1, angulo,c_white,1);
[/gml]
Wowwwwwww compañero, sabes mucho, gracias por contestar. Ahora lo pruebo y te digo como me fue :D :D :D :D :)
Cita de: Clamud en Septiembre 10, 2017, 07:18:55 PM
Mejor usa GML, es más rápido programar que en DnD.
Encontré un método de girar como en Geometrý Dash. Es importante no girar la caja de colisión (no modificar image_angle) para no complicar las colisiones, lo mismo se hace en GD.
Evento Create
[gml]
vAngular = 8; //velocidad angular
angulo = 0; //angulo del sprite
tope = 270; //angulo tope cuando aterriza
[/gml]
Eveno Step
[gml]
if place_meeting( x, y+1, obj_piso ) //tocando el piso
{
if( angulo > tope ) //si no ha llegado al tope
angulo -= vAngular; //girar
if( angulo <= tope ) //si ha llegado al tope
angulo = tope; //detener
}
else //en el aire
{
angulo -= vAngular; //girar
if( angulo < tope )tope -= 90; //nuevo tope
if( tope < 0 )tope += 360; //evitar tope negativo
if( angulo < 0 )angulo += 360; //evitar angulo negativo
}
[/gml]
Evento Draw
[gml]
draw_sprite_ext( sp0,0, x,y, 1,1, angulo,c_white,1);
[/gml]
Amigo, me sale éste error:
ERROR in
action number 1
of Draw Event
for object Obj_Dashi:
Error in code at line 1:
draw_sprite_ext( sp0,0, x,y, 1,1, angulo,c_white,1);
^
at position 18: Unknown variable sp0
Porqué? D':
Ahí debes poner el nombre de tu sprite, por ejemplo:
[gml]
draw_sprite_ext(mi_sprite_jugador,0, x,y, 1,1, angulo,c_white,1);
[/gml]
Cita de: NiuWeb en Septiembre 11, 2017, 08:16:08 AM
Ahí debes poner el nombre de tu sprite, por ejemplo:
[gml]
draw_sprite_ext(mi_sprite_jugador,0, x,y, 1,1, angulo,c_white,1);
[/gml]
Ahhh ok, entendido. Ahora al empezar el sprite me aparece echado y cuando presiono saltar gira no en su eje, sino como un eje mucho más arriba de mi sprite. Y al dejar de presionar "saltar", se queda en el aire avanzando como si fuera el piso, ayuda D:
En la ventana de propiedades del sprite presiona el botón "Center", para centrar el origen del sprite.
Debes poner gravedad para que no se quede en el aire.
Cita de: Clamud en Septiembre 11, 2017, 07:31:25 PM
En la ventana de propiedades del sprite presiona el botón "Center", para centrar el origen del sprite.
Debes poner gravedad para que no se quede en el aire.
Ajá!! genial amigo, si funciona :D, solo que al presionar saltar gira 2 lados por salto, no 1 lado como en GD, y cuando salto seguidamente 3 plataformas o más manteniendo presionado "saltar" gira sin parar, asi esté en el suelo D:
No habrá una manera de que cada vez que toque el suelo, deje de girar totalmente, porque mientras mantengo presionado "saltar" cuando paso plataformas consecutivas, sigue girando aunque toque las plataformas.
Muchas gracias por todo el tiempo que te tomas en contestar maestrazo :D :D :)
Muestra el código o DnD que usas.