Marzo 24, 2010, 06:37:01 AM Ultima modificación: Abril 10, 2010, 06:15:53 AM por evilwolv
que onda, pues ya vi varias cosas por aqui, y pues me decidi a empesar mi proyectillo, y pues ahi va mas menos, me baje un engine y todo va bien, hasta que me atore con los ataques, pero bueno antes de eso quisiera solucionar algo, resulta que el personaje ya salta, y todo bien, pero el problema es que si mantengo presionada la tecla de salto este no deja de saltar, y bueno esa es una parte del problema, la otra parte es que el personaje no toca el piso y se dispara hacia arriba otra vez, lo que quiero es que si el usuario deja presionada la tecla de salto este no rebote. bueno aqui el code:
{
if facing='right' sprite_index=salto;
if not place_free(x,y+1) vspeed = -14;
if place_free(x,y+1) and facing= 'right' sprite_index=en_elaire1;
if place_free(x,y+30) and facing= 'right' sprite_index=en_elaire2;
if facing='left' sprite_index=salto_left;
if place_free(x,y+1) and facing='left' sprite_index=en_elaire3;
if place_free(x,y+30) and facing='left' sprite_index=en_elaire4;
}

de antemano se agradece la ayuda.

Aqui tienes el ejemplo XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

e... pues no se a los demas, pero no me corrio el ejemplo :'( tiene erroes hasta morir y no me deja iniciar

prueba con esto en el evento keyboard up:

if (salto=1)&&(!place_free(x,y+1)) vspeed:=-10;

saludos XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

Te dejo un ejemplo sencillo a ver si te sirve

Puedes controlar con una variable el salto XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

aa, creo que no me explique bien, los ejemplos estan bien, son entendibles, pero lo que quiero por ejemplo en el del cuadro;presionas up, y el cuadro salta, entonces el cuadro desciende hasta el piso, pero si sigo manteniendo el boton presionado este sigue saltando, lo que quiero es que cuando se mantenga presionado el boton y el cuadro aterrice, este ya no se mueva hasta que se vuelva a presionar el boton de salto. que vuelva a saltar solo si vuelvo a presionar el boton. no se si me explique.

ok mira
En el evento Step:
if keyboard_check(vk_left) x-=velocidad deseada sprite_index=(sprite moviendose solo necesitas uno mirando hacia la derecha)
image_xscale=-1
if keyboard_check(vk_right) x+=velocidad deseada sprite_index= (sprite moviendose solonecesitas uno mirando hacia la derecha)
image_xscale=1
if keyboard_check(vk_up) vspeed=5
En el evento Keyboard press up:
if keyboard_check(vk_up) vspeed=(numero de la altura del salto



PD:
En el evento Step:
if place_free(x,y) sprite_index=(sprite usado para el salto SOLO NECESITAS UNO MIRANDO HACIA LA DERECHA el image_xscale hara el resto)


pues creo que esto te servira
Salu2
-Crear juegos no es un m?todo de quemar tiempo, es una forma de arte.
-Se busca buen programador de IA's.

Si eres nuevo con el Game Maker, te recomiendo que mires este tema:
http://www.comunidadgm.org/index.php?topic=13388.0

En mi ejemplo solo tenes que cambiar el evento de la tecla UP por el de "pressed".

en el evento release keyboard up pones esto: salto=0  XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

 :D bien ya tengo la respuesta que queria, utilice la sugerencia de 3dgeminis, jeje y pue diran que que dramatico y pesado soy, pero ahora no se como hacer para que cambie de sprite a distinta altura, veran estoy empezando a hacer un castlevania y necesito qeu el personaje cambie de sprite segun la altura deseada, y si este al momento de decender mantenga un sprite.

Pon una variable que vaya midiendo la posici?n de los pies donde estaba el personaje a la posici? actual (q es el salto) y de acuerdo a eso le vas haciendo cambiar con sprite_index=sprite
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

si entiendo lo que quieres desir, pero como mides la distancia en y?

con not place_free o como?

#13 Marzo 30, 2010, 06:52:42 PM Ultima modificación: Marzo 30, 2010, 06:55:54 PM por DarkKRuleR
pero eso fallaria al moverse o si por ejemplo saltas a un lugar mas hondo..
tan solo creas un sprite de salto, en ?ste con varias subimagenes, de saltando arriba, en el punto mas alto y bajando. y segun la variable vspeed pones un image_index o otro. por ejemplo:
if vspeed<0 and vspeed>-1{//image_index de subiendo
if vspeed>=-1 and vspeed<1 {//en el punto mas alto
if vspeed>=1 {//bajando

bueno, yo solo me he liado y no se si funcionara, solo guiate en la vspeed (claro, si usas esta variable para saltar. Si pones gravity y al saltar algo como vspeed=-10, si no usas la vspeed debes checar otra cosa que no se ahora mismo que seria xD) es un poco lioso, al saltar la vspeed es negativa y alta (ejemplo -20), a medida que sube va frenando y "subiendo" la vspeed (-20, -10, -5). en el punto mas alto vspeed=0 y despues baja, por lo tanto sube la vspeed (0,10,20...)

Pero en cuesti?n de los movimientos de los personajes pueden ser controlados x variables y de esta manera restringir dichas acciones...con respecto a la altura en "Y" tienes q tener en cuenta q cuando el personaje pise el suelo cuanto vale su posici?n en y + altura del sprite o personaje, con esto basicamente puedes controlar el cambio de sprite de acuerdo al salto XD XD XD
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)