Me podria decir alguen algun codigo para saltar por que no consigo ninguno.
_______________________________________
-->      http://juegosalmando.artisteer.net/      <--
_______________________________________

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))}




#2 Julio 03, 2012, 06:30:49 PM Ultima modificación: Julio 03, 2012, 06:34:43 PM por loro2000
GRACIAS!!!
Una cosa y para parar de saltar? xD
Esque me salta y no para
_______________________________________
-->      http://juegosalmando.artisteer.net/      <--
_______________________________________

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
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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 !!!



Gracias a todos.

Una pregunta : ¿DONDE HABEIS APRENDIDO TODO ESTO?
                          Esque soy nuevo y me gustaria aprender mas.
_______________________________________
-->      http://juegosalmando.artisteer.net/      <--
_______________________________________

1. Leer el manual
2. Prueba y error




#7 Julio 04, 2012, 01:52:04 AM Ultima modificación: Julio 04, 2012, 01:54:00 AM por elviskelley
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.

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
en http://krstudyos.blogspot.com solo hay basura... mejor que ni entres...

#9 Julio 05, 2012, 02:48:40 PM Ultima modificación: Julio 05, 2012, 02:51:07 PM por loro2000
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;
_______________________________________
-->      http://juegosalmando.artisteer.net/      <--
_______________________________________