好的,所以我刚刚开始学习 java(我通常用 Objective-C 编程)。我的第一个游戏是一个类似于 Pokémon 的游戏,但是,它显然要简化得多......
我遇到的麻烦是我找不到阻止 2 个精灵相互“重影”的方法。在屏幕上,我设置了边界(边界)、玩家精灵和敌人精灵。
public void playerUpdate(GameContainer gc, int delta) throws SlickException
{
Input input = gc.getInput();
// Right Key Pressed
if (input.isKeyDown(Input.KEY_RIGHT) && (leftKeyPressed == false)
&& (upKeyPressed == false) && (downKeyPressed == false))
{
player = walkRight;
playerX += speed * delta;
rightKeyPressed = true;
if (playerX >= Main.getWindowWidth() - pImageWidth)
{
playerX -= speed * delta;
}
} else if (rightKeyPressed == true)
{
player = standRight;
rightKeyPressed = false;
}
^^ 这是我需要实现碰撞检测的地方。我已经为每个图像添加了矩形以进行碰撞检测,但是,我并不是在寻找一种让它们消失的方法。我需要一种方法来阻止一个精灵穿过另一个精灵。
有任何想法吗?
我试过使用
if (this.playerBoundingBox.intersects(Enemy.getEnemyBoundingBox())
{
playerX += speed * delta;
}
但是,当我实施此操作时,播放器会卡住并且无法释放。
多谢你们