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.

Ajuda na colisão com parede?

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Mr.J
Novato
Novato
Reações: 0
Mensagens: 12

Ajuda na colisão com parede?

Mensagem por Mr.J » Sáb Jun 18, 2016 5:11 pm

quando o meu player colide com o obj_chao,ele deve deixar a vspeed em 0,se estiver em cima do bloco.
quero que,quando ele colida de lado com o bloco,a hspeed dele que acabe.Como faço isso? :go:
Uso o GameMaker 8 pro
Mister J-Game Maker

Avatar do usuário
nicoca
Membro
Membro
Reações: 0
Mensagens: 107

Contato:

Re: Ajuda na colisão com parede?

Mensagem por nicoca » Sáb Jun 18, 2016 5:37 pm

pelo acho que entendi 
vc quer que ele colida com chao e ao mesmo tempo na parede ?
se for o caso e somarca a opção solid no obj_chao  no obj_parede depois va no personagem e adciona a colisão com o objeto  e coloque esse codigo 

Código: Selecionar todos

move_contact_solid(direction,2);

vspeed=0;
ele vai parar de andar tanto no chao e na parede 
mas se vc quer que ele pare de andar nos 2 use esse 

Código: Selecionar todos

move_contact_solid(direction,0);

vspeed=0;
espero ter ajudado não esquece de marcar o personagem como solido tabem

Avatar do usuário
Mr.J
Novato
Novato
Reações: 0
Mensagens: 12

Re: Ajuda na colisão com parede?

Mensagem por Mr.J » Dom Jun 19, 2016 8:48 pm

Se o player colidir com um objeto solido,ele fique com a hspeed 0(quero que ele pare de ficar flutuando quando colidir com a parede)
Mister J-Game Maker

Avatar do usuário
Ark
Membro
Membro
Reações: 0
Mensagens: 39
Localização: Rio de Janeiro

Re: Ajuda na colisão com parede?

Mensagem por Ark » Dom Jun 19, 2016 9:11 pm

Edit:
Faça uma variavel de movimento hsp ou vsp ou use o vspeed ou hspeed msm.
No comando de movimentação Esqueda e direita e etc...
esquerda = -keyboard_check(.........)
direita = keyboard_check(.......)

//Aqui vai fazer uma verificação se não apertar nada mov = 0, mais se apertar direita ela vai valer 1, se esquerda -1.
mov = direta + esquerda

//Ele faz uma verificação se seu player encostar no objeto ele para, mais enquanto não estiver encostando ele pode se mover
//Colisão Horizontal
//Sign vai voltar o valor inteiro nunca fracionado
if place_meeting (x+sign(mov),y,obj_parede){
    while(!place_meeting(x+sign(mov),y,obj_parede)){
    hsp += sign(mov)
}
hsp = 0
}
x += hsp * movespeed "Sua variavel de velocidade"

//Vertical colisão
//Sign vai voltar o valor inteiro nunca fracionado
if place_meeting (x,y+sign(mov),obj_parede){
    while(!place_meeting(x,y+sign(mov),obj_parede)){
    vsp+= sign(mov)
}
vsp = 0
}
y += vsp
Ai voce muda no X do if se e 1 pixel horizontal ou vertical 
Editado pela última vez por Ark em Dom Jun 19, 2016 9:27 pm, em um total de 2 vezes.

Avatar do usuário
Mr.J
Novato
Novato
Reações: 0
Mensagens: 12

Re: Ajuda na colisão com parede?

Mensagem por Mr.J » Dom Jun 19, 2016 9:20 pm

Isso é no step?
Mister J-Game Maker

Avatar do usuário
Ark
Membro
Membro
Reações: 0
Mensagens: 39
Localização: Rio de Janeiro

Re: Ajuda na colisão com parede?

Mensagem por Ark » Dom Jun 19, 2016 9:25 pm

Sim no step do player.

Trancado

Quem está online

Usuários navegando neste fórum: Semrush [Bot] e 3 visitantes