首页 > 解决方案 > 如何让对象跟随java中的路径

问题描述

我已经实现了一个 A* 搜索,它产生了一条通往玩家的路径(目前是一个蓝球)。我想让敌人(此时是一个红球)沿着这条路走。我尝试根据与路径的 x 和 y 的距离来增加敌人的 x 和 y 坐标,但它不起作用。我还尝试了其他一切都没有奏效的东西。你能否告诉我如何让红球沿着路径前进。

time++;
    if (time % speed == 0) {
        path = aStar.search(g, start(), target());

        if (path != null) {
       //converting  to coordinates
        pathX = (path.get(path.size() - 1).getElement() / board.getRowNum()) * pixelSize;
        pathY = (path.get(path.size() - 1).getElement() % board.getRowNum()) * pixelSize;


            if (x < pathX) {
                if (left != 0) {
                    this.x = pathX;
                }
            }
            if (x > pathX) {
                if (right != 0) {
                    this.x = pathX;
                }
            }
            if (y < pathY) {
                if (up != 0) {
                    this.y = pathY;
                }
            }
            if (y > pathY) {
                if (down != 0) {
                    this.y = pathY;
                                        }
            }
        }
    }

在此处输入图像描述

标签: javasearchgame-development

解决方案


推荐阅读