Como fazer o personagem pular para frente?

 
   3D Game Builder - Índice » Programação
Como fazer o personagem pular para frente?
Autor Mensagem
bardorafa
Novato
Novato


Registrado: 02/04/10
Mensagens: 29
Localização: Rio Preto/SP

Como fazer o personagem pular para frente?
Pessoal, estou com uma dúvida que está me impedindo avançar na criação de um jogo:

Como faço para que, quando eu aperto para o personagem saltar, ele não pare de seguir em frente? Toda vez que entro no modo de jogabilidade, as teclas funcionam bem, o personagem anda para frente, para trás, para as laterais, mas, quando vou saltar, ele para para saltar, não cosigo superar obastáculos com o personagem, pois ele apenas pula para cima e não para frente ou para trás ou para os lados.

Estou criando uma demo de um jogo de plataforma, mas, sem essa função, não consigo fazer o personagem saltar objetos, pois ele para na frente de cada objeto e fica pulando apenas verticalmente.

Obrigado pela atenção.

Abraços!



_________________
r a f a e l m a r c h e s i n
www.bardorafa.co.cc
Sáb Abr 03, 2010 8:07 pm Exibir perfil de usuários
alvarohsp
Usuário
Usuário


Registrado: 30/01/10
Mensagens: 125
Localização: Barra Mansa

tente mudar as configurações do ator principal,do jump eixo x,y



_________________
Não faça de sua vida um rascunho, pois pode não dar tempo de passar a limpo...
Dom Abr 04, 2010 1:58 am Exibir perfil de usuários
alvarohsp
Usuário
Usuário


Registrado: 30/01/10
Mensagens: 125
Localização: Barra Mansa

o mililo deve saber



_________________
Não faça de sua vida um rascunho, pois pode não dar tempo de passar a limpo...
Dom Abr 04, 2010 2:14 am Exibir perfil de usuários
Mililo
Usuário
Usuário


Registrado: 05/12/08
Mensagens: 366
Localização: Santo Antônio de Pádua / RJ

Sei nada Sad
Na verdade isso é bem mais complexo do que parece... Já fiz vários testes quanto a isso um tempo atrás e ainda não consegui um resultado satisfatório, mas para um pulo básico você pode usar esse código abaixo, depois eu te explico os bugs:(fiz esse código não 'Static Camera Game' usando MD2, e estou tomando como base que você está fazendo um jogo de plataforma daquele jeito que mostrei, se não o código seria diferente...)

Bom primeiro você faz desabilitar a tecla jump nas propriedades do projeto(colocando zero) depois, o código:
OnCollision do Mapa
Código:
if IsKeyPress(strtoint('0x20')) then
begin
if GetObjectAnimation('MainActor')<>'jump' then
SetObjectAnimation('MainActor', 'jump');
ApplyForce('Player', 0, 5000, 0);
if IsKeyPress(38) then
ApplyForce('Player', 0, 0, -2500)
else
if IsKeyPress(40) then
ApplyForce('Player', 0, 0, 2500);
end;

Bugs:
1)Quando você continua pressionando barra de espaço, em vez de apertar e soltar, o player vai descendo devagarinho como se estivesse flutuando(dá até para ir para frente e para tras enquando desce Smile) e a animação fica repetindo toda hora(até tem como fazer a animação executar uma só vez mas aí depois que ela acaba o player fica parado feito estátua até chegar no chão).

2) Acho que tem vez que o player pula beeem alto, vai dando varios pulos e vê se isso acontece alguma vez(antes eu tinha feito esse código no Mainloop e esse pulo muuito alto acontecia sempre na primeira vez que se pulava, mas no OnCollision não acontece na primeira vez(não me peegunte porque), mas não sei, alguma vez pode acontecer).

Obs: Nesse player padrão não existe animação de pular para frente nem para tras, então fica meio feio, mas no caso você pode criar uma animação e aí é só mudar o código um pouco para que ele mude de animação dependendo de onde vai pular...
Dom Abr 04, 2010 6:35 pm Exibir perfil de usuários
Mililo
Usuário
Usuário


Registrado: 05/12/08
Mensagens: 366
Localização: Santo Antônio de Pádua / RJ

Estranho...
Shocked
Antes de eu criar esse código, eu tava pensando que não ia dar certo.. pelo fato de o applyforce ser chamado constantemente depois que se pressiona a barra de espaço achei que o player fosse ir flutuando até pararmos de pressionar.
Mas não é isso que acontece, o 3DGB tem gravidade(Mapa->Propriedades->Gravityforce), então o player não continua subindo(o único problema é que ele desce devagar).
Mas eu apertei F9 várias vezes para testar o projeto e tal... e em algumas dessas vezes isso aconteceu realmente Surprised, não sei o porquê, daí tenho que fechar rodar o projeto(F9) denovo, algumas vezes acontece e algumas vezes não Confused

E só mais uma coisa, quanto ao que disse que aquele código seria só para jogo de plataforma, na verdade não, funciona do mesmo jeito não projeto 3D normal... viagem minha =P
Dom Abr 04, 2010 6:58 pm Exibir perfil de usuários
bardorafa
Novato
Novato


Registrado: 02/04/10
Mensagens: 29
Localização: Rio Preto/SP

Mililo, valeu pela força, vou testar, se der certo, volto para comentar... logo vou divulgar um projeto aqui para o pessoal ver a minha idéia de jogo... Com certeza ainda vou encher muito o saco de vocês pedindo ajuda...
Depois que eu criar todo o básico do jogo, fica tudo fácil e eu só terei que me preocupar com o cenário, que é o mais fácil de se fazer... (se não for bem modelado, hehe... mas se eu for me dedicar à uma boa modelagem... hmm, vai ser difícil!).

_________________
r a f a e l m a r c h e s i n
www.bardorafa.co.cc
Seg Abr 05, 2010 4:05 pm Exibir perfil de usuários
   3D Game Builder - Índice » Programação
Página 1 de 1