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
vsp = 0;
hsp = 0;
movespeed = 7;
jumpspeed = 12;
impspeed = 15;
grav = 0.5
STEP de mi plataformero
///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
if(place_meeting(x,y,obj_burst_right)){
hsp = impspeed;
}
Cita 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 plataformero
vsp = 0;
hsp = 0;
movespeed = 7;
jumpspeed = 12;
impspeed = 15;
grav = 0.5
STEP de mi plataformero
///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
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
}