我正在创建一个游戏,并希望敌人在跟随玩家时面对玩家。我曾尝试以这种方式使用 AffineTransform:
at = new AffineTransform();
angle = Math.atan2(player.getY() - y,player.getX() - x) + (Math.PI / 2);
at.setToTranslation(x, y);
at.rotate(angle, width / 2, height / 2);
然后使用g2D.drawImage(image,at,this);
在屏幕上绘制敌人。问题是敌人只是面对屏幕上的一个随机位置,它确实会旋转以面对那个点,但它并没有像我想要的那样面对玩家。我在播放器类中使用完全相同的代码让播放器面对鼠标光标,然后它工作得很好,那么为什么它不能面对播放器呢?