检测另一个游戏对象上方的移动对象

Posted

技术标签:

【中文标题】检测另一个游戏对象上方的移动对象【英文标题】:Detect moving object over another game object 【发布时间】:2015-11-13 08:55:06 【问题描述】:

我是新的统一用户,我想做棋盘游戏。此游戏需要将游戏对象移动到(可选)棋盘上的多个位置。并且需要根据板子状态检测何时允许移动或不允许移动。 (很像九人莫里斯游戏)。

我尝试编写代码来检测 On-Mouse-Up/Down,但我发现它非常复杂。还有其他的想法吗?

【问题讨论】:

【参考方案1】:

建议将此作为建议,因为我不确定您的目标是什么,但是 我想你应该先创建一个网格,然后使用寻路方法检查你的对象是否可以移动到那个地方。 其中一些可能有用:https://tbswithunity3d.wordpress.com/

【讨论】:

【参考方案2】:

这实际上取决于您的游戏如何运作,但一般的解决方案是:

将你的棋盘所有字段的状态存储在某个数组中,当对象移动到 nowe 字段时,你可以检查该字段是否空闲。

或者:

当您的对象移动到新字段时,您可以检查与该字段中已有对象的冲突。

【讨论】:

第一个解决方案将取决于位置,并且使代码取决于位置会使其不稳定,板位置的任何移动都会导致错误检测第二个解决方案:我问的是什么,如何检查游戏对象的第一个位置及其移动的位置???假设有碰撞检测

以上是关于检测另一个游戏对象上方的移动对象的主要内容,如果未能解决你的问题,请参考以下文章

当一个对象在hololens中的另一个对象内部时如何选择内部游戏对象?

检测数组中影片剪辑内的对象与另一个对象数组之间的碰撞

在 Unity 中沿其移动方向旋转对象

尝试使用箭头键和 WASD 同时移动两个对象

3145 汉诺塔游戏

使用 vector3.MoveTowards 移动对象