C# 如何转换类型';int';至';unityengine.gameobject';?
我正在尝试编写一个脚本来控制重新启动的检查点系统。在PlayerController脚本中,我将“health”声明为public int。然后,我在这个脚本中引用了“health”。所以,如果玩家死亡(生命值=0),它将在检查点重生 然而,当我在这个脚本中引用“health”时,我必须将“int”转换为“unityengine.gameobject”。谁能帮帮我吗。我刚开始学CC# 如何转换类型';int';至';unityengine.gameobject';?,c#,unity3d,type-conversion,C#,Unity3d,Type Conversion,我正在尝试编写一个脚本来控制重新启动的检查点系统。在PlayerController脚本中,我将“health”声明为public int。然后,我在这个脚本中引用了“health”。所以,如果玩家死亡(生命值=0),它将在检查点重生 然而,当我在这个脚本中引用“health”时,我必须将“int”转换为“unityengine.gameobject”。谁能帮帮我吗。我刚开始学C public class PlayerPros:monobhavior { 私人储蓄点; 私人游戏对象健康; 私有v
public class PlayerPros:monobhavior
{
私人储蓄点;
私人游戏对象健康;
私有void Start()
{
health=GetComponent();
sp=GameObject.FindGameObjectWithTag(“sp”).GetComponent();
transform.position=sp.lastCheckPointPos;
}
私有void更新()
{
if(health=0)//此处发生错误
{
加载场景(SceneManager.GetActiveScene().buildIndex);
}
}
}
不转换类型,而是从类中获取变量
如果两个脚本在同一个游戏对象上,您可以使用
int-health=GetComponent().health代码>
确保PlayerController
脚本中的运行状况变量是公共的
如果(health=0),您也不能执行
正确的方法是if(health==0)
health=0
表示将值分配给变量。您的意思可能是等于:health==0
GameObject
也不是组件。。你是说gameObject
这个脚本所附加的gameObject
属性吗?这个错误应该是不言自明的。。GameObject
是noint
。。。您是否试图通过GetComponent
访问其他组件?
public class PlayerPros : MonoBehaviour
{
private savePoint sp;
private GameObject health;
private void Start()
{
health = GetComponent<GameObject>();
sp = GameObject.FindGameObjectWithTag("SP").GetComponent<savePoint>();
transform.position = sp.lastCheckPointPos;
}
private void Update()
{
if ( health = 0) //error occurs here
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
}