unity中关闭unity3d getcomponentt,当unity3d getcomponentt是script时候怎么做

Unity3D实践系列07,组件的启用或禁用开关,物体的的可见或不可见开关,以及相应事件
时间: 14:18:57
&&&& 阅读:7371
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&& 创建一个Unity项目。 & 在"Project"窗口中,在"Asserts"中,添加"_MyScene"文件夹。 & 点击"File"中的"Save Scene",给Scene命名,并保存到"_MyScene"文件夹。 & 创建一个类型为"Plane"的GameObject,并调整其大小。 & 创建一个类型为"Cube"的GameObject,并适当调整大小。 & 使用脚本控制物体组件的Enable/Disable & 选中"Hierarchy"窗口下的"Cube",如果把其对应的"Inspector"窗口中"Meshe Render"的勾选去掉,将会在"Scene"窗口中看到一个空心的Cube。也就是说,组件可以通过显式的方式被声明为Enable或Disable。 & 还可以通过脚本的方式控制组件的可见性。 & 在"Project"窗口中,在"Asserts"中,添加"_Scripts"文件夹。 & 在"_Scripts"文件夹下创建一个名称为"EnableComponent"的脚本,双击,在Visual Studio中打开并编辑。 &using UnityE
using System.C
public class EnableComponent : MonoBehaviour
public MeshRenderer mM
// Use this for initialization
void Start () {
// Update is called once per frame
void Update () {
把"EnableComponent"脚本拖动到"Hierarchy"窗口中的"Cube"上,此时在其对应的"Inpector"窗口中的脚本组件中,多了一个"M Mesh"属性。
把"Hierarchy"窗口的"Cube"拖动到"M Mesh"属性值框中,Unity会自动识别Cube上的MeshRenderer,使其成为"M Mesh"的属性值。
现在,我们想当按下键盘上的空格键,让Cube成为空心,即设置Cube脚本组件的"M Mesh"属性值。修改"EnableComponent"脚本如下:
&using UnityE
using System.C
public class EnableComponent : MonoBehaviour
public MeshRenderer mM
// Use this for initialization
void Start () {
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(KeyCode.Space))
mMesh.enabled =
保存,并运行游戏。
当按下键盘中的空格键,在"Game"窗口中的Cube自动消失。
如果想通过键盘上的空格键来切换Cube的可见/不可见状态,修改"EnableComponent"脚本如下:
保存,并运行游戏。
当每次按下键盘中的空格键,在"Game"窗口中的Cube要么可见,要么不可见。
使用脚本控制物体的Active/Inactive
再创建一个类型为"Sphere"的球体,适当调整位置和大小。
在"_Scripts"文件夹下创建一个名称为"SetActive"的脚本,双击,在Visual Studio中打开并编辑。
&using UnityE
using System.C
public class SetActive : MonoBehaviour {
// Use this for initialization
void Start () {
//gameObject表示当前物体
gameObject.SetActive(false);
// Update is called once per frame
void Update () {
把"SetActive"脚本拖动到"Hierarchy"窗口的"Sphere"上。
保存,运行游戏,球体不会出现。
当然,物体的可见性最直接的做法是在"Inspector"窗口中显式设置。
OnEnable, OnDisable与OnDestry
这是3个响应事件函数。
OnEnable:当对象变为可用或激活状态时被调调用。OnDisable:当对象变为不可用或非激活状态时被调用。OnDestroy:当MonoBehaviour将被销毁时调用。注意,是脚本被销毁时调用,而不是物体被销毁时被调用。
创建一个名称为"DisableDestroy"的脚本,编写如下:
&using UnityE
using System.C
public class DisableDestroy : MonoBehaviour {
void OnEnable()
Debug.Log("script was enabled");
void OnDisable()
Debug.Log("script was disable");
void OnDestroy()
Debug.Log("script was destroyed");
// Use this for initialization
void Start () {
// Update is called once per frame
void Update () {
选中"Hierarchy"窗口中"Cube",把原先的脚本组件删除,再把"DisableDestroy"的脚本拖动其上。
保存,运行游戏,在运行过程中,把"Disable Destroy(Script)"的勾选去掉,停止运行,控制台显示如下:
参考资料:极客学院Unity3D课程标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:/darrenji/p/4597384.html
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生! 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
Unity3D --Component
下载积分:300
内容提示:Unity3D --Component
文档格式:PDF|
浏览次数:49|
上传日期: 02:27:38|
文档星级:
全文阅读已结束,如果下载本文需要使用
 300 积分
下载此文档
该用户还上传了这些文档
Unity3D --Component
关注微信公众号新人提问,关于 AddComponent【unity3d吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:78,687贴子:
新人提问,关于 AddComponent收藏
//在Unity中有没有办法动态的给物体挂上脚本?我目前只知道可以使用
AddComponent
为物体挂上脚本,但是要挂什么脚本必须在代码中指明,有没有什么方法可以使这一步在Unity的【Inspector菜单栏】中完成,就像public的变量一样可以在Unity的UI中指定将要附加给物体的脚本?
达内unity3d培训全程&实战教学&,unity3d金牌讲师授课.免费unity3d课程试听中!到达内unity3d学院学习unity3d,只需4个月速成unity3d游戏工程师.
之所以想问这个功能是因为想在游戏中做一个便捷化的刷怪脚本,这样以后制作关卡只需要在关卡中挂上复数的这个脚本,分别指定执行时间,刷出哪种怪,多少只,怪物的飞行模式(脚本.....),就基本把关卡的怪弄完了.....
= =尝试一下人工置顶
编写Editor脚本,自定义操作方式
顺便插楼 getcomponent 和addcomponent有什么区别 听说5.0取消addcomponnet
= =人工置顶
设置一个Object类型的公共变量scriptObj... AddComponent(scriptObj.name)
但是在Unity5中似乎取消了AddComponent(string),而是改用AddComponent&T&(),所以没办法使用scriptObj.name来实现这个功能,这种情况下应该怎么写呢?
我找到一种编辑器里能用的写法:using UnityE....public MonoS........obj.AddComponent(scripts.GetClass());但是UnityEditor是编辑器拓展类,所以这种写法没办法Build,有没有别的写法可以做到类似的效果?
你找到解决办法了 吗
VRStar unity3d,名师一对一辅导,带你触碰前沿VR技术.一流的教学环境和VR学习体验,VRStar您正确的选择!
public static Winstance = go.AddComponent&World&();
用反射应该能解决或者Unity3d内部获取对象的方法反射AddComponent&Reflect.GetType(&&)&()
登录百度帐号推荐应用解构Unity的腳本物件模型-GAD腾讯游戏开发者平台}

我要回帖

更多关于 unity3d component 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信