OnMouseOver()不适用于儿童

时间:2016-08-10 08:01:54

标签: c# unity3d onmouseover

这是一个半新手!

我想在Unity3D中使用鼠标为我想要拖动的另一个对象创建一个hitbox。我的hitbox是一个带有对撞机的球体,我的主要对象是鱼精灵。我做了一个简单的脚本来检查鼠标是否在hitbox-object上:

from tasks import add

result=add.delay(4, 4)
result=add.delay(4, 4)
result=add.delay(4, 4)
result=add.delay(4, 4)
result=add.delay(4, 4)
result=add.delay(4, 4)

脚本附加到hitbox。我可以从检查器看到公共'hover'布尔值是否为真。虽然我的hitbox没有与任何其他对象“连接”,但这可以按预期工作。如果我让鱼精灵成为我的hitbox的孩子,它仍然有效。但是,一旦我将hitbox作为鱼精灵的孩子,它就不再起作用了。

为什么会这样,并且有一个简单的方法吗?

我希望hitbox跟随鱼精灵。鱼精灵后来会成为一个僵硬的人,我想与我的其他游戏互动。

1 个答案:

答案 0 :(得分:1)

如果根父级具有刚体,则OnMouseOver事件将不适用于子对象。

我建议使用光线投射来检测OnMouseOver作为替代方案。

参考:http://answers.unity3d.com/questions/241844/child-objects-trigger-collider-not-working-when-pa.html