Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rui Pimentel

Programando força de gravidade em jogo

Recommended Posts

Fala galera!

Tô precisando de uma força com a programação da gravidade no jogo que estou desenvolvendo.

O esquema é o seguinte:

 

Imagem Postada

 

1 - O personagem está parado.

2 - Ele pula ou se locomove diretamente para a borda da primeira plataforma.

3 - A gravidade o puxará para baixo até o momento em que ele encoste em outra plataforma.

 

Minha programação não funcionou como eu esperava...

Se alguém puder dar uma olhada, os arquivos são esses aqui:

http://ruileite.webs.com/willie/Chao.as

http://ruileite.webs.com/willie/Will.as

http://ruileite.webs.com/willie/Willie.fla

 

Mas atenção: percebam na imagem a disposição das plataformas... eu não gostaria que uma plataforma influenciasse na área de outra.

 

Obrigado pela ajuda, espero poder ajudar a comunidade também.

Abraços a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Axo que posso te ajudar .... tenho um jogo do megaman ..... entre em contato por e-mail para eu te mandar o arquivo ... não cabe aqui no forum...

 

 

 

lenonpelon@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Axo que posso te ajudar .... tenho um jogo do megaman ..... entre em contato por e-mail para eu te mandar o arquivo ... não cabe aqui no forum...

 

 

 

lenonpelon@hotmail.com

Legal! Valeu pela resposta rápida!

 

AH, isso que você falou do jogo do megaman me lembrou...

Já consultei alguns dos tutoriais na Internet, geralmente eles ensinam como aplicar a lógica usando um hitTest.

Não gostei de fazer desse jeito, pois o personagem sempre acaba "passando do ponto" um pouco, e eu gostaria de fazer com que o personagem não "entrasse" no chão (ver a figura).

Na lógica que tentei aplicar (mas que acabou não funcionando, como vocês podem ver nos arquivos) eu quero detectar o toque no chão antes de ele acontecer. Olhem como:

 

Imagem Postada

Atenção, a imagem contém um erro: onde diz "A = _x - _root.Willie._x", na verdade o certo seria "A = _y - _root.Willie._y".

 

"A" é a distância entre o personagem e o chão.

Dentro da classe do personagem, existe uma função onEnterFrame() que, entre outras coisas, a cada quadro move verticalmente o personagem uma distância estabelecida pela sua velocidade (variável "velY"). Assim, quando o valor absoluto da velocidade é maior do que "A", significa que o personagem irá cair no chão ou passar dele. Nessa hora o personagem não anda "velY" pixels. Sua posição _y deve receber _y do Chao abaixo dele.

 

Alguém tem alguma idéia de como fazer isso?

Nos meus arquivos, já tentei fazer isso mas alguma coisa deu errado.

Alguém sabe consertar?

 

Abração, valeu pela resposta rápida LenonPelon (e demais pessoas que ajudarão futuramente).

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente colocar essa regra dentro do onEnterFrame da classe Will, logo depois do "// FIM DAS REGRAS DE GRAVIDADE",

 

o erro pode ser isso, pois num onEnterFrame você move o personagem e em outro você valida a posição, coloque no mesmo

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro pode ser isso, pois num onEnterFrame você move o personagem e em outro você valida a posição, coloque no mesmo

Não entendi muito bem. Mas, se eu entendi bem, é para eu por aquelas fórmulas da imagem dentro da classe "Will".

Pode até ser, mas eu vou ter dificuldades em recuperar os valores das variáveis, certo?

Veja bem:

A = _y - _root.Willie._y
Aqui eu não tenho dificuldades em recuperar o valor da variável, pois só existe um "Willie" no Stage.

No caso do Chao, se eu colocasse o código:

A = _root.Chao._y - _y
Não daria certo, pois não existe um objeto com nome de instância "Chao" no Stage, mas sim, vários objetos da classe "Chao".

Como eu posso chamar essa variável?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.