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. |
Colisão avançada
Colisão avançada
Olá pessoal, queria saber se há algum método de fazer uma colisão com um objecto mais rápida que a original, é que no meu jogo eu movimento um objecto com o rato e se for rápido a colisão não reconhece a tempo e buga... o que posso fazer?
Obrigado desde já
Obrigado desde já
Re: Colisão avançada
Então cara, acho que esse teu problema de colisão deve ser porque você nao está usando o if place_free, ou seja, você não está checando se 1pixel ou mais estão livres a frente, você ta apenas fazendo o player andar sempre de 2 em 2 pixels com o x+=2, quando agente usa esse comando, o player nao estara se movendo e sim se teleportando, e no momento que você encosta em algum obj, o seu player para.
Troque o movimento do seu player para esse:
ou seja, toda vez que você andar ele ira verificar se esta livre 1 pixel a frente, e o repeat sera a velocidade :)
e usando esse código você não ira necessitar ficar sempre criando um evento de colisao com paredes diferentes, ou caixas diferentes.
Flw!
Troque o movimento do seu player para esse:
Código: Selecionar todos
repeat(1)//troque esse numero 1 para a velocidade desejada
if keyboard_check(vk_left) && place_free(x+1,y) {x+=1} //aqui você não muda nada, a nao ser que você troque para right e o x para -1, na real eu nem sei se botei certo kkk
e usando esse código você não ira necessitar ficar sempre criando um evento de colisao com paredes diferentes, ou caixas diferentes.
Flw!
Re: Colisão avançada
Não é isso que quero. Estou a fazer um jogo breakout e estou a usar o rato para mover a plataforma. Se eu mover rápido o rato para o lado e tocar na bola a bola entra dentro da plataforma ou faz bounce inexistente. Ou seja eu quero um código que ao mover rápido e tocar na bola a bola mude de direção sem colar ou fazer bounce falso
Mas agora que fiquei a pensar devo e ter de fazer movimento por fricção invés de movimento normal, se fizer por fricção não deve bugar. O problema é que se fazer por fricção a velocidade será cada vez maior e será muito complicado segurar a bola ahah. Só se impor um limite de velocidade para a bola depois de se afastar da plataforma. Se for isso como posso fazer?
Mas agora que fiquei a pensar devo e ter de fazer movimento por fricção invés de movimento normal, se fizer por fricção não deve bugar. O problema é que se fazer por fricção a velocidade será cada vez maior e será muito complicado segurar a bola ahah. Só se impor um limite de velocidade para a bola depois de se afastar da plataforma. Se for isso como posso fazer?
Editado pela última vez por gabrielsch em Ter Jun 14, 2016 12:01 am, em um total de 1 vez.
Razão: Evite post duplo!
Razão: Evite post duplo!
Re: Colisão avançada
Cara tu ta é complicando isso ae, o metodo que eu ja mencionei tbm funciona para isso, mas ja que é um breakout, remova a colisao que você está usando da bola com a plataforma/mouse, ao invés de usar uma colisao use uma variavel, por exemplo, no create coloque a variavel direcao=0; e na colisao da bola com a plataforma: direcao=1; e no step da bola voce digita isso: if direcao=0 {y-=1} else {y+=1} ; isso vai fazer com que a bola se movimente, e quando chegar na plataforma/mouse, a bola nao ira ficar presa, e sim trocar de direção. Flw!
Quem está online
Usuários navegando neste fórum: Semrush [Bot] e 1 visitante