Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: marron400 en Mayo 15, 2015, 04:37:39 AM

Título: velocidad controlada
Publicado por: marron400 en Mayo 15, 2015, 04:37:39 AM
hola estuve pensando si se podria controlar la velocidad de un objeto hacia una direccion ,en el juego quisiera apretar una tecla y que el objeto se mueva una cierta velocidad por segundo o 2 segundo mientras este apretando mas tiempo esa tecla que enpiese a contar los segundo e ir aumentando la velocidad indicada en el codigo ,espero que me entiendan .
Título: Re:velocidad controlada
Publicado por: 3dgeminis en Mayo 15, 2015, 05:09:24 AM
Aver si entendi, queres que mientras se pulse la tecla por cada segundo se aumente la velocidad ?
Si es asi podes hacerlo de la siguiente manera:
CREATE
tiempo=0
velocidad=0

TECLA
if tiempo=room_speed*1 
                {
                  tiempo=0
                  velocidad+=1
                }
tiempo+=1

STEP EVENT
speed=velocidad


room_speed*1 si queres que sean 2 segundos cambia 1 por 2
Título: Re:velocidad controlada
Publicado por: marron400 en Mayo 15, 2015, 05:33:43 AM
Cita de: 3dgeminis en Mayo 15, 2015, 05:09:24 AM
Aver si entendi, queres que mientras se pulse la tecla por cada segundo se aumente la velocidad ?
Si es asi podes hacerlo de la siguiente manera:
CREATE
tiempo=0
velocidad=0

TECLA
if tiempo=room_speed*1 
                {
                  tiempo=0
                  velocidad+=1
                }
tiempo+=1

STEP EVENT
speed=velocidad


room_speed*1 si queres que sean 2 segundos cambia 1 por 2


no entiendo lo que pusiste, pero si ese codigo aumenta la velocidad del room no es lo que busco , mi juego es algo asi como de carrera osea mientras apreto una tecla el coche avansa pero no avansa bruscamente sino que va con una velocidad inicial hasta que llega a una velocidad maxima , pero eso lo quiero detallar porque con respecto a eso quiero hacer un medidor que controle la velocidad del coche ,el codigo es como segundo 1 = velocidad 0.2 asi hasta que enpiese el segundo 2 = velocidad 0.6 luego el segundo 3 = 1.4 y asi , de a poco ir aumentano para luego poner la velocidad en el medidor
Título: Re:velocidad controlada
Publicado por: penumbra en Mayo 15, 2015, 06:42:16 AM
Si lo he entendido, lo que esencialmente quieres hacer es implementar aceleración en una instancia, que es un cambio de velocidad en un lapso de tiempo. Para hacer que el coche no avance bruscamente, símplemente comienzas con una velocidad pequeña, a la cual se le va añadiendo un incremento hasta llegar a un tope:

CREATE
[gml]
a = 0.05
v = 0.5
[/gml]

STEP
[gml]
x += v
v += a
clamp(v, 0.5, velocidad_maxima)
[/gml]

En el ejemplo, la instancia aumenta de velocidad (acelera) de manera lineal, se pueden usar muy distintas fórmulas para hacer que el cambio de velocidad no sea lineal, sino exponencial o logarítmico o de algún otro tipo.