我试图制作一个壁炉,如果我需要收集木材并在火场上使用它但没有任何反应,我使用debug.log来查看变量是否正确接收更改并且其工作完美但是if我有fireonplace变量= 1然后激活壁炉对象,它插入变量上的木材,但激活火的触发器不会发生。 这是我的代码
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class enablefire : MonoBehaviour {
public GameObject Enable_Disable;
public static int woodonfire = 0;
public void Enable ()
{
Enable_Disable.SetActive (true);
}
public void Disable()
{
Enable_Disable.SetActive (false);
}
// Use this for initialization
void Start ()
{
Enable ();
//Enable_Disable.SetActive (false);
}
void Update()
{
if (woodonfire >= 1)
{
Enable_Disable.SetActive (true);
}
if (woodonfire == 0)
{
Enable_Disable.SetActive (false);
//Enable_Disable.SetActive (false);
}
}
}
答案 0 :(得分:1)
您必须将脚本移动到另一个对象上。
由于非活动游戏对象的所有组件都处于非活动状态,因此其上的脚本也将处于非活动状态,您将无法再次激活该对象。将粒子系统放在包含脚本的另一个对象中可能是更好的选择。 (您将基本激活和取消激活您的子对象(火))。
答案 1 :(得分:1)
更改游戏对象的名称,通常名称必须以小写字母开头,尝试使用类似enableDisable的名称;
你也已经创建了一个启用/禁用GameObject的方法,为什么你不改变这个代码......
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><img src="Anyimg.jpg" alt="some image"></p>
<p>My best friend is Mickey.</p>
<p>Who is your favourite</p>