Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
duvida com plataformas
duvida com plataformas
Novamente tenho mais uma duvida. Eu tentei fazer uma plataforma que se move na horizontal e quando
colide em um objeto especifico (chao ou parede por exemplo) ela se move na direção oposta.
Minha duvida é que o player sobe na plataforma mas continua na mesma posição sem ser levado pela plataforma. Pelo oque
eu pesquisei esse é um erro bem comum nas plataformas mas não consegui encontrar um codigo que funcionasse.
Create da plataforma:
dir = -1;
movespeed = 3;
hsp = 0;
Step:
hsp = dir * movespeed
if (place_meeting(x+hsp,y,obj_terra))
{
while(!place_meeting(x+sign(hsp),y,obj_terra))
{
x += sign(hsp);
}
hsp = 0;
dir *= -1;
}
x += hsp;
Alguem conheçe algum codigo que possa funcionar?
colide em um objeto especifico (chao ou parede por exemplo) ela se move na direção oposta.
Minha duvida é que o player sobe na plataforma mas continua na mesma posição sem ser levado pela plataforma. Pelo oque
eu pesquisei esse é um erro bem comum nas plataformas mas não consegui encontrar um codigo que funcionasse.
Create da plataforma:
dir = -1;
movespeed = 3;
hsp = 0;
Step:
hsp = dir * movespeed
if (place_meeting(x+hsp,y,obj_terra))
{
while(!place_meeting(x+sign(hsp),y,obj_terra))
{
x += sign(hsp);
}
hsp = 0;
dir *= -1;
}
x += hsp;
Alguem conheçe algum codigo que possa funcionar?
Re: duvida com plataformas
Na teoria você só precisa checar se a plataforma está colidindo com o player
Se sim, então você da para o player a velocidade horizontal da plataforma.
Se sim, então você da para o player a velocidade horizontal da plataforma.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Re: duvida com plataformas
Ok, vou testar isso.
Hoje eu resolvi criar outra plataforma com outro codigo, mas (como sempre) houve um problema.
Na teoria a plataforma se movimenta para um lado e quando o alarme é acionado a plataforma se move na direção oposta, o problema é que a plataforma começa a se mover em uma direção, quando o alarme é acionado ela se move na direção contraria, mas ao inves do alarme ser acionado de novo para a plataforma trocar a direção ela continua se movendo na mesma direção, como eu faço para o alarme ser acionado sempre e não só uma vez?
create da plataforma:
reserve_direction = 1;
hspeed = 2;
alarm 0:
hspeed = -hspeed;
reverse_direction = 1;
step:
if reserve_direction = 1 {
alarm[0]=60;
reserve_direction = 0;
}
Tem algum erro nos codigos?
Hoje eu resolvi criar outra plataforma com outro codigo, mas (como sempre) houve um problema.
Na teoria a plataforma se movimenta para um lado e quando o alarme é acionado a plataforma se move na direção oposta, o problema é que a plataforma começa a se mover em uma direção, quando o alarme é acionado ela se move na direção contraria, mas ao inves do alarme ser acionado de novo para a plataforma trocar a direção ela continua se movendo na mesma direção, como eu faço para o alarme ser acionado sempre e não só uma vez?
create da plataforma:
reserve_direction = 1;
hspeed = 2;
alarm 0:
hspeed = -hspeed;
reverse_direction = 1;
step:
if reserve_direction = 1 {
alarm[0]=60;
reserve_direction = 0;
}
Tem algum erro nos codigos?
Re: duvida com plataformas
Parece que você quer que a cada 60 steps ele mude de direção, certo?
Então coloca o alarm[0] = 60 dentro do create event e no final do evento do alarme.
O step event no seu caso é desnecessário
Então coloca o alarm[0] = 60 dentro do create event e no final do evento do alarme.
O step event no seu caso é desnecessário
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Re: duvida com plataformas
Ok, esta tudo funcionando. Mas e se eu criar uma segunda plataforma como eu faço para o codigo de colisão do player com a plataforma1 funcionar para a plataforma2 tambem?
Codigo de colisão do player com a plataforma1:
if position_meeting(x-sprite_xoffset+sprite_width/2,y-sprite_yoffset+sprite_height,obj_plataforma){
objID=instance_position(x-sprite_xoffset+sprite_width/2,y-sprite_yoffset+sprite_height,obj_plataforma)
hspeed = objID.hspeed;
}else{
hspeed:=0;
}
Codigo de colisão do player com a plataforma1:
if position_meeting(x-sprite_xoffset+sprite_width/2,y-sprite_yoffset+sprite_height,obj_plataforma){
objID=instance_position(x-sprite_xoffset+sprite_width/2,y-sprite_yoffset+sprite_height,obj_plataforma)
hspeed = objID.hspeed;
}else{
hspeed:=0;
}
Re: duvida com plataformas
Você cria um terceiro objeto e faz com que ele seja o parent de ambas as plataformas, então com o player você checa a colisão com o objeto pai.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante