Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 坦克!Unity当前正在尝试添加健康拾取项目 void ontriggenter(碰撞器其他) { if(other.gameObject.CompareTag(“HealthPick”)) { m_CurrentHealth+=金额; other.gameObject.SetActive(false); SetHealthUI(); } 如果(m_CurrentHealth_Javascript_Unity3d - Fatal编程技术网

Javascript 坦克!Unity当前正在尝试添加健康拾取项目 void ontriggenter(碰撞器其他) { if(other.gameObject.CompareTag(“HealthPick”)) { m_CurrentHealth+=金额; other.gameObject.SetActive(false); SetHealthUI(); } 如果(m_CurrentHealth

Javascript 坦克!Unity当前正在尝试添加健康拾取项目 void ontriggenter(碰撞器其他) { if(other.gameObject.CompareTag(“HealthPick”)) { m_CurrentHealth+=金额; other.gameObject.SetActive(false); SetHealthUI(); } 如果(m_CurrentHealth,javascript,unity3d,Javascript,Unity3d,要使碰撞在统一中工作,您需要执行以下操作: 将碰撞器组件附加到要成为碰撞一部分的每个对象。这可以是BoxCollider、SphereCollider等。任何形状都有意义 对于触发碰撞(即非物理碰撞),请在步骤1中创建的每个碰撞器组件上启用检查器中的Is trigger值 将刚体组件附加到要碰撞到其他物体的对象上。刚体组件价格昂贵,而且您不希望它们遍布整个场景,因此我建议您将其放在坦克上。您可能还必须启用Is motional属性,否则您的坦克可能表现不正常(设置中的信息很少,很难判断) 将一个

要使碰撞在统一中工作,您需要执行以下操作:

  • 碰撞器
    组件附加到要成为碰撞一部分的每个对象。这可以是
    BoxCollider
    SphereCollider
    等。任何形状都有意义
  • 对于触发碰撞(即非物理碰撞),请在步骤1中创建的每个碰撞器组件上启用检查器中的
    Is trigger
  • 刚体
    组件附加到要碰撞到其他物体的对象上。
    刚体
    组件价格昂贵,而且您不希望它们遍布整个场景,因此我建议您将其放在
    坦克
    上。您可能还必须启用
    Is motional
    属性,否则您的
    坦克可能表现不正常(设置中的信息很少,很难判断)
  • 将一个脚本附加到您的
    储罐
    ,该储罐已实现方法
    OnTriggerEnter
    。下面是一个示例
  • (可选,强烈建议)我建议您创建另一个脚本,并将其附加到您的健康皮卡上。我将用下面的示例进行演示
  • (可选)可以使用来过滤检测到的碰撞类型,以提高效率
  • 公共级储罐:单一行为
    {
    //在编辑器中设置初始运行状况值。
    [SerializeField]private int_initialHealth=100;
    [SerializeField]私有int_maxHealth=100;
    private int_health=-1;
    私人空间
    {
    _健康=_初始健康;
    }
    私有void更新()
    {
    //你可能想在更新中检查这个,因为你想要坦克
    //一死就死,而不仅仅是当你得到一份健康。
    
    如果(_health)这里需要更多的信息。你能包括正在碰撞的游戏对象的快照吗?你的坦克对象是否有一个刚体和碰撞器?健康拾取是否有一个设置为触发的碰撞器?健康拾取是否正确标记了健康拾取(没有隐藏空格或大小写差异)是的,它是一个立方体,带有一个带触发器的盒子碰撞器,它也有一个刚性的身体,重力和kince都启用了,它是正确的,我分享了更多,但我不知道如何在这个网站上编辑第一篇文章,变量
    数量
    来自哪里?我给立方体添加了一个滑块,使它的值为20,认为它会增加20别这样,我想那是行不通的
    
    void OnTriggerEnter(Collider other) 
    {
        if (other.gameObject.CompareTag ("HealthPickUp"))
        {
            m_CurrentHealth += amount;
            other.gameObject.SetActive (false);
            SetHealthUI ();
        }
        if (m_CurrentHealth <= 0f && !m_Dead)
        {
            OnDeath ();
        }
    }