【发布时间】:2021-02-17 14:25:57
【问题描述】:
我目前正在开发一款 2D 等距游戏,玩家将能够控制不同的单位,并通过它们进行互动。
我创建了一个名为 UnitType 的可编写脚本的对象。借助这个系统,我可以定义一个动作范围和一个移动范围,即玩家可以移动到或与之交互的单元格中的最大距离。
问题是我不知道如何通过代码实现这一点。这就是我想要实现的,使用 2 个单元格的动作范围进行演示。 This is the goal
与我的一个朋友一起,我们考虑计算这 4 行的线性方程以检查光线投射命中是否在其中,但它不适用于负 x。 This is the current system
最佳做法是什么?
非常感谢您的时间和关注,
【问题讨论】:
-
提供一些代码
-
会有障碍吗?行动可以被障碍物阻挡吗?行动可以绕过障碍吗?你想要什么距离度量?最大 x/y?
-
另外,移动通常是通过寻路完成的,而动作可能需要一个视线系统,这些是不同的问题。您可能还需要考虑是否允许对角线移动,以及这些是否更“昂贵”。
标签: c# unity3d distance isometric clamp