quiero que cuando el mouse entre al boton se achique y si lo clickeo se achique mas y cuando saque el mouse de allí se ponga como estaba ;D
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
92
Preguntas y respuestas / hacer un slide en plataformero
Marzo 20, 2015, 10:12:14 PM
quiero hacer que mi player se deslize pero no logro hacerlo, he hecho esto:
todo sirve bien, hasta que llega el momento donde ya el alarm toca darle slide a falso pero sigue moviendose hacia un lado y cuando aprietas una tecla como ASDW aunque este en falso daña la animacion de slide y quiero arreglar esas dos cosas y ya no encuentro mas como resolverlo
gracias de antemano.
EDITO:
ahora el codigo lo intente asi y es igual.
Código [Seleccionar]
//Left, Right and Slide movements.
if(skey && rkey && slide == false || skey && lkey && slide == false)
{
slide = true;
}
if(slide == true)
{
hsp = sign(hsp) * slidespeed;
alarm[0] = 5;
sprite_index = spr_player_slide;
}
if(rkey && slide == false)
{
hsp = movespeed;
image_xscale = 1;
}
if(rkey && place_meeting(x,y+1,oSolid) && slide == false)
{
sprite_index = sPlayer_run;
image_speed = .2
} else if(!place_meeting(x,y+1,oSolid))
{
sprite_index = sPlayer_Jump;
} else if(!rkey && !lkey && place_meeting(x,y+1,oSolid)){
sprite_index=sPlayer_idle
}
if(lkey && slide == false)
{
hsp = -movespeed;
image_xscale = -1;
}
if(lkey && place_meeting(x,y+1,oSolid) && slide == false)
{
sprite_index = sPlayer_run;
image_speed = .2
} else if(!place_meeting(x,y+1,oSolid))
{
sprite_index = sPlayer_Jump;
} else if(!rkey && !lkey && place_meeting(x,y+1,oSolid)){
sprite_index=sPlayer_idle
}
if(!rkey && !lkey && slide == false || rkey && lkey && slide == false)
{
hsp= 0;
}
todo sirve bien, hasta que llega el momento donde ya el alarm toca darle slide a falso pero sigue moviendose hacia un lado y cuando aprietas una tecla como ASDW aunque este en falso daña la animacion de slide y quiero arreglar esas dos cosas y ya no encuentro mas como resolverlo
gracias de antemano.
EDITO:
ahora el codigo lo intente asi y es igual.
Código [Seleccionar]
if(skey && rkey && sprite_index != spr_player_slide || skey && lkey && sprite_index != spr_player_slide)
{
slide = true;
}
if(slide == true)
{
hsp = sign(hsp) * slidespeed;
alarm[0] = 5;
sprite_index = spr_player_slide;
}
if(rkey && sprite_index != spr_player_slide)
{
hsp = movespeed;
image_xscale = 1;
}
if(rkey && place_meeting(x,y+1,oSolid) && sprite_index != spr_player_slide)
{
sprite_index = sPlayer_run;
image_speed = .2
} else if(!place_meeting(x,y+1,oSolid))
{
sprite_index = sPlayer_Jump;
} else if(!rkey && !lkey && place_meeting(x,y+1,oSolid)){
sprite_index=sPlayer_idle
}
if(lkey && sprite_index != spr_player_slide)
{
hsp = -movespeed;
image_xscale = -1;
}
if(lkey && place_meeting(x,y+1,oSolid) && sprite_index != spr_player_slide)
{
sprite_index = sPlayer_run;
image_speed = .2
} else if(!place_meeting(x,y+1,oSolid))
{
sprite_index = sPlayer_Jump;
} else if(!rkey && !lkey && place_meeting(x,y+1,oSolid)){
sprite_index=sPlayer_idle
}
if(!rkey && !lkey && slide == false || rkey && lkey && slide == false)
{
hsp= 0;
}
94
Preguntas y respuestas / Re:Transiciones de room a room?
Marzo 18, 2015, 08:31:02 PMCita de: 3dgeminis en Marzo 16, 2015, 05:49:29 AM
GMS ya no tiene las funciones de para crear transiciones asi que la tendras que hacer tu mismo. Que tipo de transicion queres hacer ?
cual sea, las que yo quiero hacer principalmene es una que se ponga pixelada y cambie de room y se despixele y otra de que se ponga negra la pantalla y despues denuevo se aclarece pero en la otra room, pero me gustaria hacer cual sea.
95
Preguntas y respuestas / Re:ejemplo de uso de move_contact_solid
Marzo 18, 2015, 08:19:55 PMCita de: jaimitoes en Marzo 18, 2015, 05:31:52 AM
Te aseguro que hay una manera mas chula de hacer colision perfecta...
Move contact solid no tiene misterio....
Moveras un objeto hacia otro objeto marcado como "solido" en el editor hasta hacer colision. El segundo argumento es la distancia maxima en pixeles que se va a mover, en el ejemplo que tienes cuando hace contacto hacia la derecha, le restara en sentido contrario su velocidad actual para que retorne al borde de la pared...
osea que lo que hace es que cuando la velocidad horizontal o vertical sea mayor o menor a una y colisione con algo que este a su lado lo que hara es revertir su velocidad?
96
Preguntas y respuestas / Re:ejemplo de uso de move_contact_solid
Marzo 17, 2015, 07:57:34 PM
tambien quiero entender el script :c
97
Preguntas y respuestas / ejemplo de uso de move_contact_solid
Marzo 17, 2015, 02:05:29 AM
lei esto en el glosario
aca hay un script de colision top down perfecta pero para entenderlo necesito saber que es lo que pregunto, creo saber pero quiero asegurarme.
Citarmove_contact_solid(dir,maxdist) Mover la instancia en la dirección dir hasta que haya contacto con un objeto sólido. Si no hay collision en la posición actual, la instancia es colocada justo antes de donde ocurre una colisión. Si ya hay una colisión en la posición actual, la instancia no se mueve. Puedes especificar la distancia máxima a mover la instancia maxdist (emplea un número negativo para indicar distancia arbitraria).
aca hay un script de colision top down perfecta pero para entenderlo necesito saber que es lo que pregunto, creo saber pero quiero asegurarme.
Código [Seleccionar]
{
var key_left = keyboard_check(vk_left);
var key_right = keyboard_check(vk_right);
var key_down = keyboard_check(vk_down);
var key_up = keyboard_check(vk_up);
////////////////////////////////////////
if(global.gamepause == false){
//Movimientos y animaciones
if(key_left )
{
hspeed = -5;
} else if(key_right)
{
hspeed = 5
} else hspeed = 0;
if(key_up)
{
vspeed = -5;
} else if(key_down)
{
vspeed = 5;
} else vspeed = 0;
if hspeed!=0
if !place_free(x+hspeed,y)
{
if hspeed>0 move_contact_solid(0,hspeed)
if hspeed<0 move_contact_solid(180,-hspeed)
hspeed=0
}
if vspeed!=0
if !place_free(x+hspeed,y+vspeed)
{
if vspeed>0 move_contact_solid(270,vspeed)
if vspeed<0 move_contact_solid(90,-vspeed)
vspeed=0
}
}
}
98
Preguntas y respuestas / Transiciones de room a room?
Marzo 16, 2015, 03:03:18 AM
hola no se tanto de GML pero pregunto igual asi aprendo :D como hago transiciones, utilizaria sleep pero ya no funciona 7_7
99
Preguntas y respuestas / ejemplos de uso de min y max
Marzo 10, 2015, 12:13:33 AM
yo se para que sirve cada una pero me podrian ayudar para abrir mas mi mente ;D
100
Preguntas y respuestas / Re:crear impulso hacia una direccion al tocar objeto en plataformero
Marzo 07, 2015, 02:50:56 AMCita de: vitail en Marzo 07, 2015, 02:32:37 AM
Hola quiero hacer lo que esta en el titulo ya que quiero hacer mi plataformero y que tenga un bloque que lo impulse hacia un lado, asi serviria para llegar a diferentes lugares o que si toca ese bloque lo mande hacia las trampas, etc...
CREATE de mi plataformeroCódigo [Seleccionar]vsp = 0;
hsp = 0;
movespeed = 7;
jumpspeed = 12;
impspeed = 15;
grav = 0.5
STEP de mi plataformeroCódigo [Seleccionar]///Player Input.
var key_right = keyboard_check(vk_right);
var key_left = keyboard_check(vk_left);
var key_jump = keyboard_check(vk_up);
/////////////////////////////////////////
if(place_meeting(x,y+1,obj_solid))
{
vsp = 0;
if(key_jump)
{
vsp = -jumpspeed;
}
}
else
{
if(vsp < 10)
{
vsp += grav;
}
}
if(key_right)
{
hsp = movespeed;
}
if(key_left)
{
hsp = -movespeed;
}
if(!key_right && !key_left || key_right && key_left)
{
hsp = 0;
}
if(place_meeting(x+hsp,y,obj_solid))
{
while(!place_meeting(x+sign(hsp),y,obj_solid))
{
x += sign(hsp);
}
hsp = 0;
}
x += hsp;
if(place_meeting(x,y+vsp,obj_solid))
{
while(!place_meeting(x,y+sign(vsp),obj_solid))
{
y += sign(vsp);
}
vsp = 0;
}
y += vsp;
intente conCódigo [Seleccionar]if(place_meeting(x,y,obj_burst_right)){
hsp = impspeed; // el burst de arriba y abajo son faciles pero no encuentro la forma de hacerlo con este
}
101
Preguntas y respuestas / crear impulso hacia una direccion al tocar objeto en plataformero
Marzo 07, 2015, 02:32:37 AM
Hola quiero hacer lo que esta en el titulo ya que quiero hacer mi plataformero y que tenga un bloque que lo impulse hacia un lado, asi serviria para llegar a diferentes lugares o que si toca ese bloque lo mande hacia las trampas, etc...
CREATE de mi plataformero
STEP de mi plataformero
intente con
CREATE de mi plataformero
Código [Seleccionar]
vsp = 0;
hsp = 0;
movespeed = 7;
jumpspeed = 12;
impspeed = 15;
grav = 0.5
STEP de mi plataformero
Código [Seleccionar]
///Player Input.
var key_right = keyboard_check(vk_right);
var key_left = keyboard_check(vk_left);
var key_jump = keyboard_check(vk_up);
/////////////////////////////////////////
if(place_meeting(x,y+1,obj_solid))
{
vsp = 0;
if(key_jump)
{
vsp = -jumpspeed;
}
}
else
{
if(vsp < 10)
{
vsp += grav;
}
}
if(key_right)
{
hsp = movespeed;
}
if(key_left)
{
hsp = -movespeed;
}
if(!key_right && !key_left || key_right && key_left)
{
hsp = 0;
}
if(place_meeting(x+hsp,y,obj_solid))
{
while(!place_meeting(x+sign(hsp),y,obj_solid))
{
x += sign(hsp);
}
hsp = 0;
}
x += hsp;
if(place_meeting(x,y+vsp,obj_solid))
{
while(!place_meeting(x,y+sign(vsp),obj_solid))
{
y += sign(vsp);
}
vsp = 0;
}
y += vsp;
intente con
Código [Seleccionar]
if(place_meeting(x,y,obj_burst_right)){
hsp = impspeed;
}
102
Preguntas y respuestas / Mover angulo de imagen del cubo mientras salta tipo geometry dash
Marzo 06, 2015, 08:56:52 PM
Quiero de que mientras el personaje salte, mueva el angulo de la imagen, como en the impossible game o geometry dash, pero quiero que siempre caiga bien, no importa si no hace la vuelta completa, todo vale :p
codigo de plataformas
si ponen cosas raritas enseñenme asi aprendo :v
codigo de plataformas
Código [Seleccionar]
///Player Input.
var key_right = keyboard_check(vk_right);
var key_left = keyboard_check(vk_left);
var key_jump = keyboard_check(vk_up);
/////////////////////////////////////////
if(place_meeting(x,y+1,obj_solid))
{
vsp = 0;
if(key_jump)
{
vsp = -jumpspeed;
}
}
else
{
if(vsp < 10)
{
vsp += grav;
}
}
if(key_right)
{
hsp = movespeed;
}
if(key_left)
{
hsp = -movespeed;
}
if(!key_right && !key_left || key_right && key_left)
{
hsp = 0;
}
if(place_meeting(x+hsp,y,obj_solid))
{
while(!place_meeting(x+sign(hsp),y,obj_solid))
{
x += sign(hsp);
}
hsp = 0;
}
x += hsp;
if(place_meeting(x,y+vsp,obj_solid))
{
while(!place_meeting(x,y+sign(vsp),obj_solid))
{
y += sign(vsp);
}
vsp = 0;
}
y += vsp;
si ponen cosas raritas enseñenme asi aprendo :v
103
Preguntas y respuestas / Como hago un movimiento de este tipo?
Marzo 05, 2015, 03:45:36 AM
quiero hacer un juego pero necesito hacer un movimiento que no se como hacer para hacer esto:
Para esquivar las plataformas tienes que moverte a los lados, si te mueves a los lados cuando pegues con la pared horizontalmente, porque si pegas verticalmente te mueres, devuelve la velocidad pero menor, todo bien todo eso lo se hacer pero quiero de que cuando la coordenada X sea la inicial se quede en hspeed = 0 pero que pueda moverse, aca esto es lo que tengo hasta ahora.
Solo me falta lo que dije de que si queda en su coordenada inicial que es como en el medio que alli debe parar y le das a un boton denuevo para ir a un lado y esquivarlo, ayudenme pls.
Para esquivar las plataformas tienes que moverte a los lados, si te mueves a los lados cuando pegues con la pared horizontalmente, porque si pegas verticalmente te mueres, devuelve la velocidad pero menor, todo bien todo eso lo se hacer pero quiero de que cuando la coordenada X sea la inicial se quede en hspeed = 0 pero que pueda moverse, aca esto es lo que tengo hasta ahora.
Código [Seleccionar]
if(keyboard_check_pressed(vk_left) && moverse == true)
{
hspeed = -spd;
moverse = false
}
if(keyboard_check_pressed(vk_right) && moverse == true)
{
hspeed = spd;
moverse = false
}
if(place_meeting(x-4,y,obj_wall))
{
hspeed = returnspd;
}
if(place_meeting(x+4,y,obj_wall))
{
hspeed = -returnspd;
}
Solo me falta lo que dije de que si queda en su coordenada inicial que es como en el medio que alli debe parar y le das a un boton denuevo para ir a un lado y esquivarlo, ayudenme pls.
104
Preguntas y respuestas / Re:para que sirve la condicion ''for''
Marzo 05, 2015, 12:46:33 AMCita de: Sockman en Marzo 04, 2015, 12:09:26 PM
Por aquí otro al que le costó comprenderlo también. :'( Y los ejemplos que suele poner la gente no suelen ayudar, porque te meten las misma variable "i" en las acciones y puede confundir.
Piénsalo de esta forma:
Si tenemos for (variable=0; variable<10; variable+=1)'
Significa que cuando la variable sea 0, se le va a sumar 1 mientras sea menor que 10.
Pero tienes que tener en cuenta que todo esto se hace en un solo step. Osea, que en un sólo step, la variable habrá tenido los 10 valores (0,1,2...9), habrá llegado al 10 y habrá salido del bucle.
ah asi se le entiende bien :D
105
Preguntas y respuestas / Re:que se devuelva a su posicion original moviendose
Marzo 04, 2015, 04:59:24 AMCita de: 3dgeminis en Marzo 04, 2015, 03:34:27 AM
Podes crear una variable que te sirva de interruptor, por ejemplo activo=false y despues de 1 segundo o el tiempo (con una alarma) que quieras pase a activo=true
Luego en el codigo que tenes
if(x == previousx){hspeed = 0} lo cambias a if x == previousx and activo=true {hspeed = 0}
hice esto, que le cambio ahora, tiene un alarm puesto en 10 ya que hay un else que pone de que si no es igual a previousx que sea falso y si es falso hspeed es igual a cero, creo que hice una locura XD
Código [Seleccionar]
if(x == previousx && moverse == true)
{
if(keyboard_check_pressed(vk_right))
{
hspeed = spd;
moverse = false;
}
if(keyboard_check_pressed(vk_left))
{
hspeed = -spd;
moverse = false;
}
alarm[0] = 10;
} else if (x != previousx && moverse == true) {
moverse = false;
}
if(place_meeting(x-4,y,obj_wall))
{
hspeed = returnspd;
}
if(place_meeting(x+4,y,obj_wall))
{
hspeed = -returnspd;
}
if(moverse == false)
{
hspeed = 0;
}