Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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_Trigonometry_Angle - Fatal编程技术网

Java 爪哇炮弹角度

Java 爪哇炮弹角度,java,trigonometry,angle,Java,Trigonometry,Angle,所以,我正在制作一个平台,在这里你应该能够拖动你的鼠标,以鼠标释放的方向从你的角色发射一个投射物,速度为两点之间的距离 public void mouseDragged(MouseEvent e) { player.setAiming(true); Point2D.Float aimpoint = new Point2D.Float(e.getXOnScreen(), e.getYOnScreen()); player.setAimpoint(aimpoint);

所以,我正在制作一个平台,在这里你应该能够拖动你的鼠标,以鼠标释放的方向从你的角色发射一个投射物,速度为两点之间的距离

    public void mouseDragged(MouseEvent e) {
    player.setAiming(true);
    Point2D.Float aimpoint = new Point2D.Float(e.getXOnScreen(), e.getYOnScreen());
    player.setAimpoint(aimpoint);
    player.setAimDistance(GetDistanceToPoint(player.getPos(), aimpoint));
}
public static float GetAngleOfLine(Point2D.Float p1, Point2D.Float p2) { 
    double xDiff = p2.x - p1.x; 
    double yDiff = p2.y - p1.y; 
    System.out.println("P1X: " + p1.x + " P1Y: " + p1.y + " P2X: " + p2.x + " P2Y: " + p2.y + " Angle: " + Math.toDegrees(Math.atan2(yDiff, xDiff)));
    return (float) Math.toDegrees(Math.atan2(yDiff, xDiff));
}
public static float GetDistanceToPoint(Point2D.Float p1, Point2D.Float p2){
    float distance = (float) Math.sqrt(Math.pow(p2.y - p1.y, 2) + Math.pow((p2.x - p1.x), 2));
    return distance;
}
然后,当鼠标被释放时

player.setAimingangle(GetAngleOfLine(player.getPos(), player.getAimpoint()));
然后创建一个投射物,其中角度为player.aimingangle,强度为player.aimingdistance:

        float yvel = (float) (strength * Math.sin(angle));
    float xvel = (float) (strength * Math.cos(angle));

我得到了难以置信的奇怪的射弹,它们到处飞。

Math.sin
Math.cos
接受弧度参数,但你给它们提供了度