我正在通过这个网站进行练习: http://www.env3d.org/beta/node/79
所有代码都在那里。我正在研究问题3,但没有提出任何问题。我不知道下一步该尝试什么。有什么想法吗?
答案 0 :(得分:1)
如何让物体移动到最近的物体?首先你需要知道最近的物体是什么以及它在哪里,对吧?
我建议你先编写一些代码来了解哪个是最近的敌人对象。 :)
答案 1 :(得分:1)
移动方法传递给其他生物的集合。所以你需要迭代其他生物并找到这个生物(狐狸)和另一个生物的距离(只有它是一个礼服)。记下最短距离和哪个礼服,然后让狐狸向那个方向移动。
因为你知道狐狸和礼服的坐标,你应该能够找出移动狐狸的方法,以便让他更接近礼服。
这是一般的想法,你只需将其转换为代码;)
答案 2 :(得分:1)
我最近回答了similar question ...我认为您正在寻找线性插值
从上面的链接中删除了一些伪代码:
speed = 5; // "pixels" per frame
deltaX = destX - sourceX;
deltaY = destY - sourceY;
distance = sqrt(deltaX^2 + deltaY^2);
moveX = speed / distance * deltaX;
moveY = speed / distance * deltaY;
newX = sourceX + moveX;
newY = sourceY + moveY;