什么是移动AI的最佳方式? LibGDX - PONG游戏

时间:2014-08-21 21:32:24

标签: java libgdx physics collision

目前正在制作Pong游戏。我希望player2球拍(计算机)根据球的位置从左到右跟随球。我有这个

position.x = position.x + playerVectorX;    

        if(ballPong.getPosition().x < position.x){
            System.out.println("left");
            playerVectorX *=-1;
        }

        if(ballPong.getPosition().x > position.x){
            System.out.println("right");
            playerVectorX *=-1;
        }

我猜这是对的,但我错了。桨在短距离内非常快速地从左到右。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

为什么不选择

position.x = ballPong.getPosition().x;

答案 1 :(得分:0)

你的问题是,每当它需要正确时,它就会改变方向。你应该做的是这样的事情:

position.x = position.x + playerVectorX;    

    if(ballPong.getPosition().x < position.x){
        System.out.println("left");
        playerVectorX = Math.abs(playerVectorX);
    }

    if(ballPong.getPosition().x > position.x){
        System.out.println("right");
        playerVectorX = Math.abs(playerVectorX) * -1;
    }

希望有所帮助!