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
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
Te dejo un ejemplo sencillo a ver si te sirve
Puedes controlar con una variable el salto XD XD XD
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
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
: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
si entiendo lo que quieres desir, pero como mides la distancia en y?
con not place_free o como?
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
bueeno me pasa algo raro, al tener el evento pressed up tengo que presionar la tecla 3 veces para que cambie de posicion, pero al tener el evento de solo presionar la tecla up entonces cambia de sprite, pero resulta el mono no para en el piso como deseo.
if not place_free(x,y+1) vspeed = -14;
{if facing='right' {sprite_index=salto;
if vspeed>-14 and vspeed<0{sprite_index=en_elaire1;}
if vspeed>=0{sprite_index=en_elaire2;}}}
ahora no se como usar el image_index, igual ese es el problema, pero le digo al programa que cambie a ese sprite y a determinada imagen? o como es eso.
sprite_index es el valor actual de un sprite XD XD XD
Un ejemplo que tiene cambio de sprites
este.. se me hace que se van a enojar, pero no puedo abrirlo por que tengo el 7
y sip sprite_index es el valor actual de un sprite,entonces como se usa el image index?
Disculpa que tarde tanto
infinitamente agradecido, el problema esta resuelto, gracias por todo, si tengo mas dudas les sigo preguntando.