5

Unity3D でコンポーネントを取得する最も簡単な方法は何C#ですか?

私の場合:

GameObject gamemaster. 
//C# script MainGameLogic.cs(attached to gamemaster). 
A boolean backfacedisplayed(in MainGameLogic.cs).
A function BackfaceDisplay()(in MainGameLogic.cs).

からチェックする必要がある別のC#スクリプトを、から呼び出します。どうすればC#でできますか?FlipMech.csMainGameLogic.cs if(backfacedisplayed == TRUE)BackfaceDisplay()MainGameLogic.cs

jsではかなり簡単です。でFlipMech.js

//declare gamemaster
var gamemaster:GameObject;

次に、必要な場所:

if(gamemaster.GetComponent(MainGameLogic).backfacedisplayed==true)
{
    gamemaster.GetComponent(MainGameLogic).BackfaceDisplay();
}

C#しかし、これよりもはるかに複雑なようです。

4

2 に答える 2

1

この同じ問題に対処したとき、ニックの答えはうまくいきませんでした。スクリプトに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<>();
  }
}
于 2015-06-24T18:08:45.593 に答える