Java 基于鼠标/手指位置的火炮瞄准
我正在做一个相当简单的2d游戏。我希望这个角色能够拿着枪,它可以瞄准屏幕上你的光标(或iphone上的手指)所在的位置。我还希望枪能够旋转,这取决于你瞄准的位置,以使效果看起来更好。这可能是相当困难的,我到底是成像,但这里有一个例子,我在寻找什么。我不需要任何实际的代码,我只需要做这件事的逻辑。谢谢你的时间 这是获取鼠标的x和y坐标并传递移动的方式。可以使用这些坐标的逻辑来跟踪不同的鼠标事件:Java 基于鼠标/手指位置的火炮瞄准,java,ios,rotation,2d,Java,Ios,Rotation,2d,我正在做一个相当简单的2d游戏。我希望这个角色能够拿着枪,它可以瞄准屏幕上你的光标(或iphone上的手指)所在的位置。我还希望枪能够旋转,这取决于你瞄准的位置,以使效果看起来更好。这可能是相当困难的,我到底是成像,但这里有一个例子,我在寻找什么。我不需要任何实际的代码,我只需要做这件事的逻辑。谢谢你的时间 这是获取鼠标的x和y坐标并传递移动的方式。可以使用这些坐标的逻辑来跟踪不同的鼠标事件: public void mouseDragged(MouseEvent e) {
public void mouseDragged(MouseEvent e) {
int dx = e.getX() - x;
int dy = e.getY() - y;
if (zrect.isHit(x, y)) {
zrect.addX(dx);
zrect.addY(dy);
repaint();
}
if (zell.isHit(x, y)) {
zell.addX(dx);
zell.addY(dy);
repaint();
}
x += dx;
y += dy;
}
}
看看这些视频:他实现了C++中的所有逻辑,但没有理由不应该在java中实现它。看欧拉角,然后看四元数。这是基本的游戏数学知识。这本书也应该有帮助:谢谢,这些视频似乎很有用,我现在就去看。