使玩家角色表现得就像使用鼠标事件一样

时间:2018-09-10 06:00:43

标签: unity3d

我有一个游戏,其中有一个玩家的船在塔防网格上方徘徊了固定距离。我希望船下的瓷砖在船上方时突出显示。通过使用OnMouseOver()函数,这非常容易,但是,我不希望由鼠标而是由播放器控制它。有没有办法将鼠标事件模拟传递给游戏对象?我该如何将这个功能分配给飞船?

1 个答案:

答案 0 :(得分:2)

就像derHugo siad一样,您可以使用OnTriggerStay()。除此之外,您还可以使用射线投射检查船底是否有东西:

    public void FixedUpdate()
{
    RaycastHit hit;
    if (Physics.Raycast(transform.position, -transform.up, out hit, 10f))
    {
        //Here obj will be filled with the gameobject under your ship. You can use this to check for the tag, get components and outline the object.
        var obj = hit.transform.gameObject;
    }
}

希望这会为您设定正确的方向。