我正在开发一款基于瓷砖的角色扮演游戏。目前我遇到的一个问题是关于范围攻击的。比如说,魔法攻击的范围是8个瓷砖,我距离目标12个瓷砖远,如果我尝试施放魔法,我希望让玩家先走到攻击范围内,然后再施放魔法。

我想使用的逻辑是这样的:

while 不在攻击范围内

计算玩家和敌人的x和z坐标之间的距离,然后分别减去范围,比较两个值,哪个值更高,就向该方向移动(只要路途中没有障碍物)直到两个值都小于或等于0。

我认为这比直接找到最好的瓷砖然后移动过去会更好,因为它会避免让游戏决定哪个瓷砖是“最佳”的问题,这样会减少很多bug。不知道你们的意见是什么,我是否走在正确的道路上?有没有经验丰富的开发者可以提供帮助?