Javafx 用于碰撞检测的AnimationTimer()

Javafx 用于碰撞检测的AnimationTimer(),javafx,collision,Javafx,Collision,我有两个长方形的游戏对象,一个玩家和一个敌人。我希望玩家在Y轴上跳跃,敌人在X轴上滑行。当玩家的X,Y位置与敌人的相匹配时,它会杀死玩家。到目前为止,我无法让AnimationTimer()检查每一帧的恒定X位置和Y位置。它只检查应用程序何时首次启动并保留这些值 如何让它检查两个矩形的X位置和Y位置的每个帧 AnimationTimer animator = new AnimationTimer() { public void handle(long arg0) {

我有两个长方形的游戏对象,一个玩家和一个敌人。我希望玩家在Y轴上跳跃,敌人在X轴上滑行。当玩家的X,Y位置与敌人的相匹配时,它会杀死玩家。到目前为止,我无法让AnimationTimer()检查每一帧的恒定X位置和Y位置。它只检查应用程序何时首次启动并保留这些值

如何让它检查两个矩形的X位置和Y位置的每个帧

AnimationTimer animator = new AnimationTimer() {
        public void handle(long arg0) {
            //update

            double playX = player.getX(), enemX = enemy.getX();
            double playY = player.getY(), enemY = enemy.getY();
            System.out.println("Player's X: "+ playX + "\n" + "Enemy's X: " + enemX);
            System.out.println("Player's Y: "+ playY);

            if (playX == enemX && playY == enemY){
                System.out.println("Player has Collided with Enemy");
            }

        }//handle
    };
    animator.start();//animation
尝试以下方法:

Shape intersect = Shape.intersect(player, enemy);

if(intersect.getBoundsInLocal().getWidth() != -1)
{
    System.out.println("Player has Collided with Enemy");
}

什么类型的
对象是敌人?这并不完美,但你可以从@Sedrick那里得到一些想法,敌人是一个长方形,玩家也是。哇,我甚至不知道该说什么。大约从星期三起我就一直在努力让这项工作顺利进行。非常感谢。如果答案有帮助,请接受为正确答案。