estoy creando un juego de carreras en 2d y me preguntaba como puedo hacer que el coche al teclear espacio haga drift eso me sirviria mucho para cuando tenga que girar una curva, sin parar del todo el coche.

tenes que tener dos direciones
la 1° es la direccion en donde mira el coche
la 2° es la direccion donde esta girando

Ejemplo
supongamos que el coche tiene 0° y quiere hacer un giro de 180°
pondremos algo asi:


if keyboard_check(vk_left)
{
Dire_coche += 15
}

if keyboard_check(vk_right)
{
Dire_coche -= 15
}

Dire_real = max( min( Dire_real+5 , Dire_coche ), Dire_real-5 )
                                                 ^
te faltaria hacer algo la velocidad afecte al derrape cambiando el "5"

Se como hacerlo mejor pero no tengo ganas de escribir ni pensarlo mucho.
pero ya tenes la idea.

suerte con tu juego!!

ROMON®

Aunque le faltan muchas optimizaciones al codigo de romon, es util y lo que le faltaria seria:

Drift=keyboard_check(vk_space) //o la tecla que quieras

Dire_real = max( min( Dire_real+5*Drift , Dire_coche ), Dire_real-5*Drift )


Cuando Drift sea 1, se sumara o restara 5, y si es 0, entonces 0.

Espero que te sirva

Saludos 8)

Cita de: magnetox en Febrero 29, 2012, 06:36:15 PM
Aunque le faltan muchas optimizaciones al codigo de romon, es util y lo que le faltaria seria:

Drift=keyboard_check(vk_space) //o la tecla que quieras

Dire_real = max( min( Dire_real+5*Drift , Dire_coche ), Dire_real-5*Drift )


Cuando Drift sea 1, se sumara o restara 5, y si es 0, entonces 0.

Espero que te sirva

Saludos 8)

___________________________________________
ERROR in
action number 3
of  Step Event
for object obj_car:

Error in code at line 3:
   Dire_real = max( min( Dire_real+5*Drift , Dire_coche ), Dire_real-5*Drift )
                         ^
at position 24: Unknown variable Dire_real


que hago???


Cita de: magnetox en Marzo 01, 2012, 03:33:22 AM
Uhmm esas no son las variables que tienes que usar sino unas que debes cambiar por las de tu juego. O puedes crearlas porque el problemas es que no existe aun esa variable...

Saludos 8)
entonces me podrias decir que variables son:
Dire_real
Dire_coche

Mmm a ver, primero tendrias que leer un poco el manual de game maker y hacer algunos tutoriales basicos, pero igual te ayudare con esto:

Código (En Create o Game Start) [Seleccionar]
Dire_coche=0

Código (En Step) [Seleccionar]
Drift=keyboard_check(vk_space) //o la tecla que quieras
var Dire_max;
Dire_max=10
Dire_real = max( min( Dire_max+5*Drift , Dire_coche ), -Dire_max-5*Drift )
//Los eventos de teclas izquierda y derecha cambian la variable Dire_coche


Espero que te sirva y animos aprendido gml!

Saludos 8)

yo lo que me referia era si esos values eran la direction o speed del coche para ver si tengo que cambiar algo


cambio todas las dire_... por direction?