簡體   English   中英

Unity3D - 獲取組件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM