Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于鼠标/手指位置的火炮瞄准_Java_Ios_Rotation_2d - Fatal编程技术网

Java 基于鼠标/手指位置的火炮瞄准

Java 基于鼠标/手指位置的火炮瞄准,java,ios,rotation,2d,Java,Ios,Rotation,2d,我正在做一个相当简单的2d游戏。我希望这个角色能够拿着枪,它可以瞄准屏幕上你的光标(或iphone上的手指)所在的位置。我还希望枪能够旋转,这取决于你瞄准的位置,以使效果看起来更好。这可能是相当困难的,我到底是成像,但这里有一个例子,我在寻找什么。我不需要任何实际的代码,我只需要做这件事的逻辑。谢谢你的时间 这是获取鼠标的x和y坐标并传递移动的方式。可以使用这些坐标的逻辑来跟踪不同的鼠标事件: public void mouseDragged(MouseEvent e) {

我正在做一个相当简单的2d游戏。我希望这个角色能够拿着枪,它可以瞄准屏幕上你的光标(或iphone上的手指)所在的位置。我还希望枪能够旋转,这取决于你瞄准的位置,以使效果看起来更好。这可能是相当困难的,我到底是成像,但这里有一个例子,我在寻找什么。我不需要任何实际的代码,我只需要做这件事的逻辑。谢谢你的时间

这是获取鼠标的x和y坐标并传递移动的方式。可以使用这些坐标的逻辑来跟踪不同的鼠标事件:

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中实现它。看欧拉角,然后看四元数。这是基本的游戏数学知识。这本书也应该有帮助:谢谢,这些视频似乎很有用,我现在就去看。