Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: loro2000 en Julio 03, 2012, 06:20:53 PM

Título: Saltar ????
Publicado por: loro2000 en Julio 03, 2012, 06:20:53 PM
Me podria decir alguen algun codigo para saltar por que no consigo ninguno.
Título: Re:Saltar ????
Publicado por: Texic en Julio 03, 2012, 06:30:11 PM
Una manera sería poner en el evento de la tecla de salto vspeed=-12 y en el evento step poner if place_free(x,y+1) {vspeed+=1} else {vspeed=0 move_contact_solid(270,abs(vspeed))}
Título: Re:Saltar ????
Publicado por: loro2000 en Julio 03, 2012, 06:30:49 PM
GRACIAS!!!
Una cosa y para parar de saltar? xD
Esque me salta y no para
Título: Re:Saltar ????
Publicado por: Mgbu en Julio 03, 2012, 06:34:40 PM
Es depende como sea el juego, normalmente con vspeed=-5 ya basta
Eso significa que la velocidad vertical es de menos 5, o sea 5 pixeles/step para arriba

EDIT: Llegue tarde a la fiesta XD
Título: Re:Saltar ????
Publicado por: esbxp en Julio 03, 2012, 06:38:22 PM
Todo en Step
//. Primero necesitas una constante que haga las veces de gravedad

if ( place_free(x, y+1 )  {                             //. Si esta Libre de colisiones
     iGravedad  = iGravedad+ 1                     //.  Se incrementa la aceleracion de Gravedad     
     if (iGravedad > 12 ) then iGravedad = 12
} else {
     iGravedad = 0                                       //. Si colisiona la Gravedad se detiene
}
y = y + iGravedad

if  (iForce > 0) then  {                                 //. iForce, variable que rompera la gravedad, iForce = 30 
     y = y - iForce
     iForce = iForce - 1                                 //. Pero iForce se Agota en cada pasada y llega a Cero
                                                                  //. mientras iGravedad vuelve a ganar magnitud
}

Eso es en Fisica, se pueden usar las variable vspeed, pero aca esta expresado en funcion de la variable y
y no tiene nada que ver con la fuerza de x, por si el salto va hacia adelante !!!

Bye !!!


Título: Re:Saltar ????
Publicado por: loro2000 en Julio 03, 2012, 06:44:40 PM
Gracias a todos.

Una pregunta : ¿DONDE HABEIS APRENDIDO TODO ESTO?
                          Esque soy nuevo y me gustaria aprender mas.
Título: Re:Saltar ????
Publicado por: Texic en Julio 03, 2012, 06:48:07 PM
1. Leer el manual
2. Prueba y error
Título: Re:Saltar ????
Publicado por: elviskelley en Julio 04, 2012, 01:52:04 AM
Mejor asi.
Event step
if place_free(x,y+1) {gravity=0.5}else{gravity=0;} //defino la gravedad
if keyboard_check_pressed(vk_space) and !place_free(x,y+1) {vspeed-=9;} //indico que salte.

Event colision contra un piso.-
move_contac_solid(direction,vspeed) vspeed=0;

Mejor te dejo Adjuntos mis tutoriales, asi aprendes. Descargalos Esta Adjunto.
Título: Re:Saltar ????
Publicado por: SobacoEnLlamas en Julio 05, 2012, 04:33:40 AM
No tienes más que abrir el google y escribir lo que quieras con pocas palabras, ejemplo: tutorial game maker plataformas y listo, saldrán 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999993 tutoriales disponibles y en castellano xd
Título: Re:Saltar ????
Publicado por: loro2000 en Julio 05, 2012, 02:48:40 PM
Ya no hace falta que me digais algun codigo.
He estado leyendo el manual y he escrito este codigo gracias a el.

Para ayudaros hos voy a decir los codigos.

En el event step creamos dos "execute code" y ponemos:

En el primero:

if place_free(x,y+1) {gravity=0.5}else{gravity=0;}

En el segundo:

if keyboard_check(vk_left){x-=5}
if keyboard_check(vk_right){x+=5}
if keyboard_check(vk_up){y-=5}
if keyboard_check(vk_down){y+=5}
if keyboard_check(vk_left) {sprite_index = spr_Izquerda}
if keyboard_check_released (vk_left) {sprite_index = spr_Staing}
if keyboard_check(vk_right) {sprite_index = spr_Derecha}
if keyboard_check_released (vk_right) {sprite_index = spr_Staing}


En el event collition (contra el piso):
Creas otro "execute code"


move_contact_solid(direction,speed) speed=0;