从外部脚本访问变量:Unity C# 指南
Unity 中有效的组件间通信通常需要访问其他脚本中的变量。本指南详细介绍了如何实现这一目标。
获取脚本组件参考
在另一个脚本中访问变量之前,您需要其脚本组件引用。当变量驻留在不同的游戏对象中时,这一点尤其重要。 请按照以下步骤操作:
using UnityEngine;
public YourScriptName otherScript;
(将 YourScriptName
替换为包含变量的脚本的实际名称)。Start()
方法中,使用otherScript = targetGameObject.GetComponent<YourScriptName>();
获取脚本组件,其中targetGameObject
是包含目标脚本的GameObject。访问变量
获得脚本引用后,访问其变量就很简单了:
otherScript.yourVariable = newValue;
int myValue = otherScript.yourVariable;
说明性示例
假设我们有 ScriptA.cs
和公共布尔变量 myBool
,并且我们希望从附加到不同 GameObject 的 ScriptB.cs
访问和修改它。
<code class="language-csharp">// ScriptB.cs public GameObject targetObject; // Drag and drop the GameObject with ScriptA in the Inspector public ScriptA scriptA; void Start() { scriptA = targetObject.GetComponent<ScriptA>(); } void Update() { if (scriptA != null) { scriptA.myBool = true; // Modify the boolean variable Debug.Log("Value of myBool: " + scriptA.myBool); // Read and print the value } else { Debug.LogError("ScriptA not found!"); } }</code>
请记住将包含 ScriptA
的 GameObject 分配给检查器中的 targetObject
变量。 如果未找到 null
,ScriptA
检查可防止错误。 这种方法可确保脚本之间的稳健且无错误的变量访问。
以上是如何在 Unity C# 中从外部脚本访问变量?的详细内容。更多信息请关注PHP中文网其他相关文章!