Unity3d 之 理解Gameobject ,gameObject,Transform,transform的区别和关联

Gameobject是一个类型,所有的游戏物件都是这个类型的对象。
gameobject是一个对象, 就跟java里面的this一样, 指的是这个脚本所附着的游戏物件
public class ShowSliderValue : MonoBehaviour
{
private GameObject obje; //定义GameObject类型的指针
void Start(){
Text lal =gameObject.GetComponent<Text> (); //通过gameObject获取到Text组件.
Debug.Log ("Text" + lal.text); //打印获取到组件的中的text的属性
}
}
Text lal =gameObject.GetComponent<Text> () 中不使用gameObject , 直接通过GetComponent<Text> (),也是可以的.
Transform是一个类,用来描述物体的位置,大小,旋转等等信息。
transform是Transform类的对象,依附于每一个物体。也是当前游戏对象的一个组件(每个对象都会有这个组件)
transform与gameObject
1>二者的含义
transform : 当前游戏对象的transform组件
gameobject :当前游戏对象的实例
2>两者的联系和区别
* 在unity中每个游戏对象都是一个gameobject. monodevelop中的gameobject就代表着本脚本所依附的对象. 每个gameobject都包含各种各样的组件,但从这点可以看出transform是gameobject的一个组件,控制着gameobject的位置,缩放,和旋转,而且每个gameobject都有而且必有一个transform组件
* gameobject.find用来获取场景中那个我们需要查找的对象(object). 而transform.find方法则是获取当前对象的子对象下我们需要获取的目标对象位置信息。
* 注意: 在update() 中尽量不使用find() 方法,影响性能.
3>gameobject.transform与transform.gameobject
* gameobject.transform,是获取当前游戏对象的transform组件.
所以在start函数中 gameobject.transform 和this.transform,指向的都是同一个对象。即:gameobject.transform == this.transform == transform
* transform.gameobject:可以这么理解为:获取当前transform组件所在的gameobect
所以在start()函数中transform.gameobject == this.gameobject == gameobect
所以他们可以无限的引用下去
意思就是。gameobject.transform == this.transform == gameobject.transform.gameobject.tranform == tranform.gameobect.transform
public class ShowSliderValue : MonoBehaviour
{
private GameObject obje; //定义GameObject类型的指针
private Transform trans;//定义Transform类型的指针 void Start(){
Debug.Log ("gameObject.name:" + gameObject.name);
Debug.Log ("gameObject.transform.gameObject.name:" + gameObject.transform.gameObject.name);
Debug.Log ("ThisGame.name:" + this.gameObject.name);
}
}

参考链接:http://blog.csdn.net/lxl_815520/article/details/53638481
Unity3d 之 理解Gameobject ,gameObject,Transform,transform的区别和关联的更多相关文章
- 【Unity3D游戏开发】GameObject.Find()、Transform.Find查找隐藏对象 (十)
GameObjectFindTransformFind查找游戏对象 前置条件 相关API 1 GameObjectFind 2 TransformFind 3 其他查找 实际测试 即使隐藏root节点 ...
- gameObject, vector and transform
调用其它组件中成员 通过GameObject(游戏物体). Base class for all entities in Unity scenes. 是Unity场景里面所有实体的基类. 可以理解为 ...
- Unity3d vector3.forward和transform.forward的区别!
原文连接: http://blog.csdn.net/kaluluosi111/article/details/17206655 在unity3d中有2个forward,一个是vector3.forw ...
- zoom和transform:scale的区别
小tips: zoom和transform:scale的区别 这篇文章发布于 2015年11月3日,星期二,00:52,归类于 css相关. 阅读 7876 次, 今日 8 次 by zhangxin ...
- css中zoom和transform:scale的区别
css中zoom和transform:scale的区别 关于zoom: 以前只是看到别人的代码中用过zoom,自己从未使用过,今天在探究ie7兼容inline-block时,发现里面提到了zoom.下 ...
- 小tips: zoom和transform:scale的区别
小tips: zoom和transform:scale的区别 转自 张鑫旭 前端大神 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://w ...
- vector3.forward和transform.forward的区别!
http://blog.163.com/bowen_tong/blog/static/20681717420146654927791/ vector3.forward和transform.forwar ...
- Unity3d碰撞检测中碰撞器与触发器的区别
要产生碰撞必须为游戏对象添加刚体(Rigidbody)和碰撞器,刚体可以让物体在物理影响下运动.碰撞体是物理组件的一类,它要与刚体一起添加到游戏对象上才能触发碰撞.如果两个刚体相互撞在一起,除非两个对 ...
- 深入理解 sudo 与 su 之间的区别【转】
深入理解 sudo 与 su 之间的区别 两个命令的最大区别是: sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码.另外一个区别是其默认行为.sudo 命令只允许使用提升 ...
随机推荐
- 安卓中location.href或者location.reload 不起作用
链接:https://www.cnblogs.com/joshua317/p/6163471.html 在移动wap中,经常会使用window.location.href去跳转页面,这个方法在绝大多数 ...
- Linux之安装虚拟机/虚拟操作系统[VisualBox]
使用VisualBox安装虚拟机步骤: BIOS开启 Visual Technology(或者 visualization) 安装Visual Box 打开Visual Box > 新建虚拟电脑 ...
- HDU1233 还是畅通工程【最小生成树】
题意: 求出连接各个村庄最小的公路总长度,把最小公路总长度求出来. 思路: 最小生成树原理,带入数据求得. 代码: prim: #include<iostream> #include< ...
- mysql 架构~多写模式MGR
一 简介:今天咱们来聊聊MGR的单主切换和新节点加入二 单主模式下变成多主: 1 3306 STOP group_replication; set global group_replicati ...
- 2018-2019-2 网络对抗技术 20165230 Exp2 后门原理与实践
目录 1.实验内容 2.基础问题回答 3.常用后门工具实践 3.1netcat 3.2Meterpreter 3.3socat 4.实验过程 任务一:使用netcat获取主机操作Shell,cron启 ...
- T_RegionNDS表创建及值
-- Table structure for t_regionnds -- ---------------------------- DROP TABLE IF EXISTS t_regionnds; ...
- 技巧:Vim 的纵向编辑模式【转】
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-vimcolumn/ 张 曜民 和 卢 丹2011 年 2 月 18 日发布 WeiboGoog ...
- wget安装pip和pip3
pip的安装 1.1 pip下载 wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2 ...
- kafka系列一、kafka安装及部署、集群搭建
一.环境准备 操作系统:Cent OS 7 Kafka版本:kafka_2.10 Kafka官网下载:请点击 JDK版本:1.8.0_171 zookeeper-3.4.10 二.kafka安装配置 ...
- 【转】C++ map的基本操作和使用
1.map简介 map是一类关联式容器.它的特点是增加和删除节点对迭代器的影响较小,除了那个操作节点,对其它的节点都没有什么影响.对于迭代器来说,可以修改实值,而不能修改key. 2.map的功能 自 ...