如何反映point2d对象的Angular

2guxujil  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(243)

我想用javafx做一个乒乓球游戏,我决定用point2d来做击球和击球的位置。
我创建此方法是为了检查墙碰撞

public void checkWallCollision(){
        boolean ballHitBottom = posBall.getY() > 500;
        boolean ballHitTop = posBall.getY() < 50;
        boolean ballHitLeft = posBall.getX() < 0;
        boolean ballHitRight = posBall.getX() > 725;

        if (ballHitTop || ballHitBottom){
            ballDirVector = ballDirVector.multiply(-1);
        }
        if(ballHitLeft || ballHitRight){
            ballDirVector = ballDirVector.multiply(-1);
        }
    }

但对于这样的点二维物体,我不能像那样乘它。我需要反射Angular 。我想我能帮上忙的另一件事是我如何发球。在这个方法中,我确实有这个Angular ,但我不确定应该用什么方法来访问它。

public void launchBall(){
        // Launch the ball
        boolean ballDirection = random.nextBoolean();
        // bound to an acute angle on start
        double ballAngle = Constants._PADDLE_ANGLES[random.nextInt(5) + 1];
        if (ballDirection){
            ballAngle *= -1;
        }
        ballSpeed = Constants._BallStartSpeed;
        ballDirVector = new Point2D(Math.cos(ballAngle), Math.sin(ballAngle));
    }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题