这里是半新手!

我想为另一个我想在 Unity3D 中用鼠标拖动的对象制作一个hitbox。我的hitbox是一个带有碰撞器的球体,我的主要对象是一个鱼 Sprite 。我制作了一个简单的脚本来检查鼠标是否在hitbox-object上:

void OnMouseOver ()
{
    hover = true;
}


void OnMouseExit ()
{
    hover = false;
}

该脚本附加到命中框。我可以从检查员那里看到公共(public)“悬停” bool 值是否为真。虽然我的hitbox 没有与任何其他对象“连接”,但这可以按预期工作。如果我让鱼 Sprite 成为我的碰撞箱的 child ,它仍然有效。但是,一旦我将碰撞盒设置为鱼 Sprite 的子元素,它就不再起作用了。

为什么会这样,有没有一种简单的方法可以解决它?

我希望hitbox跟随鱼 Sprite 。鱼 Sprite 稍后将成为一个刚体,我想与游戏的其余部分进行交互。

最佳答案

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

我建议使用光线转换来检测 OnMouseOver 作为替代。

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

关于c# - OnMouseOver() 不适用于 child ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38867490/

10-13 04:41