Jogo em java

Estou desenvolvendo um Jogo 2D em Java e até agora fiz o personagem obedecer as coordenadas do teclado e a colisão para ele não ultrapassar as barreiras do cenário. Isso na biblioteca JPlay.
Como eu faço para ele recolher objetos que estão espalhados pelo cenário?
O objetivo é:
recolher os lixos dispostos e colocá-los em suas respectivas lixeiras de reciclagem

o problema é que não faço ideia de como fazer ele “segurar” esses itens e dps jogar na lixeira certa…

1 curtida

Olá, basicamente vc precisa capturar a colisão com objetos, ou seja, se a área do seu personagem conflita com a área do seu objeto em questão.

Supondo que você já tenha como fazer a colisão, você pode, por exemplo, ter um atributo no seu personagem que indique que ele está carregando um objeto (ou um conjunto, numa lista/array).

Seria algo como:

1 - jogador colidou com objeto;
2 - jogador aperta tecla para pegar objeto;
3 - o objeto é adicionado à uma lista de objetos que o jogador está carregando (como um inventário);
4 - jogador se move até lixeira;
5 - jogador colide com lixeira;
6 - jogador pressiona tecla para soltar o objeto;
7 - objeto vai para a lixeira se atender condição (tipo da lixeira = tipo do objeto)

Se você precisa que o objeto fique na mão do jogador (como se ele estivesse carregando nas mãoes), você pode, no passo 4, fazer um loop nos objetos que ele está carregando e atualizar a posição deles.

Abraço.