鼠标在OnTriggerEnter中单击

时间:2016-08-07 11:55:56

标签: unity3d unityscript

视频网址,以便于理解 - http://tinypic.com/r/28jdyyq/9

在这段视频中,你可以看到我的问题,当剑触及敌人时......敌人被摧毁..但我想要当我点击鼠标(或点击),然后只有..敌人应该摧毁..

void OnTriggerEnter(Collider col)
    {
        if (col.GetComponent<Collider>().tag == "enemy")
        {
            Destroy(col.gameObject);

        }
    }

这是我的代码,我有敌人和带剑的玩家(与对手),一切都很完美,我想当我点击鼠标按钮然后只有剑应该杀死敌人,

但是,当我带着我的玩家(带剑)靠近敌人并且剑触及敌人时会发生什么事情,没有我被剑击中就会杀死敌人。

我通过在Trigger中添加鼠标点击事件尝试了以下代码,但没有任何反应。任何想法请

void OnTriggerEnter(Collider col)
    {

        if (Input.GetButtonDown("Fire1")){

                if (col.GetComponent<Collider>().tag == "enemy"){

                    Destroy(col.gameObject);
                }

        }

    }

这是Swing的代码 -

 if (Input.GetButtonDown("Fire1"))
        {
            anim.SetTrigger("hit");
        }

此处命中是动画控制器中的触发器并转换为动画片段

1 个答案:

答案 0 :(得分:0)

你可以使用Animation Events使剑在动画中上升时变为真,并在剑下降时将其变为假,并在调用OnTriggerEnter时检查布尔值
制作一个像public bool hit; void OnTriggerEnter(Collider col) { if (hit){ if (col.GetComponent<Collider>().tag == "enemy"){ Destroy(col.gameObject); } } 这样的变量,通过动画事件

将其设置为 true false
set