[英]Unity3D - get component
在Unity3D C#
獲取組件的最簡單方法是什么?
我的情況:
GameObject gamemaster.
//C# script MainGameLogic.cs(attached to gamemaster).
A boolean backfacedisplayed(in MainGameLogic.cs).
A function BackfaceDisplay()(in MainGameLogic.cs).
另一個C#
腳本FlipMech.cs
,我需要從MainGameLogic.cs
檢查if(backfacedisplayed == TRUE)
,我將從MainGameLogic.cs
調用MainGameLogic.cs
BackfaceDisplay()
。 我怎么能在C#中做到這一點?
在js是相當直接的。 在FlipMech.js
:
//declare gamemaster
var gamemaster:GameObject;
然后我需要的地方:
if(gamemaster.GetComponent(MainGameLogic).backfacedisplayed==true)
{
gamemaster.GetComponent(MainGameLogic).BackfaceDisplay();
}
但似乎C#
比這復雜得多。
在c#中,你將獲得使用它的組件,
if(gamemaster.GetComponent<MainGameLogic>().backfacedisplayed==true)
{
gamemaster.GetComponent<MainGameLogic>().BackfaceDisplay();
}
當我反駁同樣的問題時, 尼克的回答對我不起作用。 該腳本涉及具有自己的命名空間的Unity3d
資產商店。 當我把類放在命名空間中時,它開始工作。
using UnityEngine;
using System.Collections;
using Devdog.InventorySystem;
namespace Devdog.InventorySystem.Demo
{
public class changeStat : MonoBehaviour {
// ... rest of the code including the gameObject.GetComponent<>();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.