Fazendo sprite pular

Boa Noite pessoal, seguinte, eu estava aqui tentando fazer com que um sprite q criei pulasse, o primeiro passo consegui, pois ele esta pulando, soh q ele fica no “ar”, como que eu faria pra ele descer pra onde tava com o pulo com um certo tempo? sera que tem algo haver com o método sleep() da Thread ou wait(), sei la, alguem tem ideia?

Ai vai a parte do código pra pular:


if (keyPressed(KeyEvent.VK_SPACE)){
					
		sprite.setLocation(sprite.getX(),sprite.getY()-10);
			


    }

Como você organizou o game loop?

Existem duas maneiras de fazer um sprite pular.
A primeira é a de jogos antigos, xunxada.

  1. A cada passo do game loop, some um pequeno valor em Y;
  2. Quando y atingir o ponto mais alto que você quer (ou após um determinado tempo), passe a subtrair de Y;

A segunda, é usar física:

  1. Crie um vetor representando a gravidade;
  2. Ao pular, aplique uma força no jogador;
  3. A cada etapa do game loop, aplique a aceleração da gravidade sobre a posição do jogador;

Tudo depende do que você quer simular.

www.programadoresdejogos.com
Um site muito bom que tem um forum muito bom tbm.
Dá uma olhada.

[quote=Stepo]www.programadoresdejogos.com
Um site muito bom que tem um forum muito bom tbm.
Dá uma olhada.[/quote]

Verdade. Sou um dos administradores do site.

[quote=ViniGodoy]Como você organizou o game loop?

Existem duas maneiras de fazer um sprite pular.
A primeira é a de jogos antigos, xunxada.

  1. A cada passo do game loop, some um pequeno valor em Y;
  2. Quando y atingir o ponto mais alto que você quer (ou após um determinado tempo), passe a subtrair de Y;

A segunda, é usar física:

  1. Crie um vetor representando a gravidade;
  2. Ao pular, aplique uma força no jogador;
  3. A cada etapa do game loop, aplique a aceleração da gravidade sobre a posição do jogador;

Tudo depende do que você quer simular.[/quote]

Então oq eu estava fazendo não da pra aproveitar né? Se eu botasse um tempo, e depois fizesse o contrario sprite.setLocation(sprite.getX(),sprite.getY();

Você sabe o que é o game loop?

Ocorre os updates do jogo, acho que é isso. comecei a mecher com jogo faz umas duas semanas só :slight_smile:

Và seguindo os tutoriais de java do meu site, um-a-um.
Não queime etapas. Sem entender certinho como funciona o básico, você não vai a lugar nenhum.

Só pra constar, o link do site do Godoy.

http://www.pontov.com.br

Veja a sessão de artigos de Java