Gravidade afeta direção
em Ter 10 Jan 2012, 15:34
Bom, estou tendo um problema com gravidade. Tenho um jogo onde o objetivo é chegar ao topo, mas, a gravidade afeta a direção do player. Uso as setas para girar a nave, aperto a seta para cima para dar força a nave, e largo-a para soltar a nave. É uma espécie de tiro ao alvo. Mas quando acaba a forca da nave, a gravidade interfere na direção da nave. Eu posso estar guiando a nave para cima, mas a gravidade faz a nave virar de ponta-cabeça. E eu quero que a direção continue a mesma. Como posso resolver isso?
Re: Gravidade afeta direção
em Ter 10 Jan 2012, 15:38
eu acho que a gravidade por si so nao afeta a direção, posta os codigos que ta usando que mudam a direçao da nave. E o código da gravidade.
em Ter 10 Jan 2012, 15:47
friction=.1
if place_free(x,y+1){gravity=.5;} else {gravity=0;}//gravidade
if forca>16{forca=16}//limite de força
direction+=10;
direction-=10;
forca+=.5;
Keyboard Release Up
speed=forca;forca=0;
Isso só já ajuda?
em Ter 10 Jan 2012, 15:48
Você provavelmente está fazendo com que image_angle possua o valor de direction, que por sua vez é obviamente afetada pela gravidade. O que você pode fazer é criar outra variável para guardar a direção, e em vez de igualar image_angle à direction, iguale image_angle a sua variável, assim você pode mudar a controlar nave e ela não irá virar de ponta cabeça =D
em Ter 10 Jan 2012, 17:08
Em parte, deu certo. Agora a nave não vira de ponta-cabeça, mas fica lenta conforme a inclinação. Virada para cima ela desafia a lei da gravidade com diculdade, de forma que ela só chega ao chão 2 minutos depois. Quando virada contra o chão a gravidade age com mais força. Como igualar a gravidade?
em Ter 10 Jan 2012, 17:14
do jeito q vc programou o objeto tem tendencia a ir pro lado q ele ta apontado, assim se ele virar pro chao vai mais rapido pro chao, e apontado pra cima ele fica tipo 'fazendo força pra subir', mas tem a gravidade puxando, por isso cai mais lento.
Se uma nave entao, com os motores ligados é normal que ela nao ceda totalmente a gravidade e por isso nao despenque de uma vez, porem ela tem q ter mais 'força' pra subir do que a força da gravidade que a faz descer.
Outra coisa, talvez a direçao mude pq ela fique um grauzinho pra direita ou pra esquerda em vez de estar 100%pra cima, isso vai depender da direction atual do objeto, aí com o tempo subindo da pra ver que nao ta subindo numa vertical perfeita e sim inclinado. Bota um mostrador de direction durante os testes do jogo (ou usa o debug mode).
em Ter 10 Jan 2012, 19:23
@Fireheaddew escreveu: Em parte, deu certo. Agora a nave não vira de ponta-cabeça, mas fica lenta conforme a inclinação. Virada para cima ela desafia a lei da gravidade com diculdade, de forma que ela só chega ao chão 2 minutos depois. Quando virada contra o chão a gravidade age com mais força. Como igualar a gravidade?
Pelo que consta no seu código, isto é evidente, afinal gravidade nesse caso é para baixo. O que você poderia fazer é, dependendo da força de propulsão, decrementar a gravidade, assim cria um efeito mais realístico tal como executado pelos foguetes que são lançados ao espaço.
em Ter 10 Jan 2012, 22:15
Bom, vou deixar do jeito que está. Poderia criar um sistema gravitacional brilhante, mas vou deixar para Newton fazer isso no dia em que ele aprender a mexer no Game Maker.