Unity3D – 获取组件
在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().backfacedisplayed==true) { gamemaster.GetComponent ().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<>(); } }
- WCF返回ArrayOfKeyValueOfintstringKeyValueOfintstring 而不是List 和List instread of List
- ‘DateTime’和’DateTimeOffset’之间的区别
- 使用acumatica系统中的webservices API在屏幕Bill And Adjusment中导入金额
- 如何突出显示WebBrowser控件C#中的特定单词
- 我可以使用LINQ去除字符串中的重复空格吗?
- 从控制台应用程序发送输入/获取输出(C#/ WinForms)
- 当缓冲区不包含任何项目时,为什么Rx缓冲区连续执行方法?
- ImageMagick.net问题
- 确保控制器在Unity中具有无参数的公共构造函数