Unity组件脚本的常用类和结构体GameObject
1、GameObjctClasses
#region this :当前脚本所挂组件//this :当前脚本所挂组件//获取当前组件所挂载的游戏对象// this.gameObject//获取当前组件所挂载的游戏对象的Transform组件// this.transform//当前对象的名字// this.name//当前对象的标签// this.tag//当前脚本的可用性// this.enabled = true;#endregion#region GameObject#region Static Methods//通过名字去找对象//性能消耗较大// GameObject obj = GameObject.Find("Cube");//通过标签去找对象//性能消耗较小// GameObject player = GameObject.FindWithTag("player");//通过标签去找一堆对象// GameObject[] enemys = GameObject.FindGameObjectsWithTag("Enemy");#endregion#region Member 成员//游戏对象的激活状态【只读】Debug.Log("activeSelf: "+ gameObject.activeSelf);//设置游戏对象的我激活状态// gameObject.SetActive(false);//给当前游戏对象添加组件// GameObjctClasses component = gameObject.AddComponent<GameObjctClasses>();//获取组件// gameObject.transform.gameObject.transformMeshRenderer meshRenderer = gameObject.GetComponent<MeshRenderer>();//修改组件属性或调用组件方法,从而实现功能meshRenderer.material.color = Color.red;// meshRenderer.gameObjecttransform.GetComponent<MeshRenderer>();#endregion#endregion#region example 操作其他对象的例子GameObject player = GameObject.FindWithTag("Player");MeshRenderer component = player.GetComponent<MeshRenderer>();component.material.color = Color.cyan;#endregion
2、Transformclass
//旋转速度//public字段的初值是第一次编译成功后,显示在面板上的值public float rotateSpeed = 3f;//移动速度public float moveSpeel = 3f;//目标对象public GameObject target;#region Transform:控制游戏对象的变幻private void Awake(){//当前游戏对象的世界坐标Debug.Log("position: "+transform.position);//当前游戏对象的相对于父物体的坐标【本地】Debug.Log("localPosition: "+transform.localPosition);//当前游戏对象的世界旋转【欧拉角】Debug.Log("eulerAngles: "+ transform.eulerAngles);//当前游戏对象的相对于父物体的旋转【本地】【欧拉角】Debug.Log("localEulerAngles: "+ transform.localEulerAngles);//当前游戏对象的世界旋转【四元数】Debug.Log("rotation: "+ transform.rotation);//当前游戏对象的相对于父物体的旋转【本地】【四元数】Debug.Log("localRotation: "+ transform.localRotation);//当前游戏对象的世界缩放Debug.Log("Scale: "+ transform.localScale);//移动位置// transform.Translate(new Vector3(0,0,3));transform.position += new Vector3(0, 0, 3);}#endregion// Start is called before the first frame update#region Transform:管理游戏对象层级关系void Start(){//当前对象获取或设置父对象Debug.Log("parent: "+transform.parent);//设置父对象transform.SetParent(Camera.main.transform);//当前对象获取根对象//没有父对象,根对象为自己Debug.Log("root: "+transform.root);//获取当前对象子对象的个数Debug.Log("子对象的个数:"+ transform.childCount );//获取当前对象子对象Debug.Log(transform.GetChild(0));//遍历所有子对象for (int i = 0; i < transform.childCount; i++){Debug.Log(transform.GetChild(i));}//找子对象中的一个,非激活也可以找到transform.Find("name");//找子对象的子对象transform.Find("name1/name2");}#endregion// Update is called once per framevoid Update(){//移动位置// transform.Translate(new Vector3(0,0,0.03f));// transform.position += new Vector3(0, 0, 0.03f);//旋转【自转】// transform.Rotate(new Vector3(2,0,0));// transform.eulerAngles += new Vector3(2, 0, 0);//旋转【绕转】// transform.RotateAround(new Vector3(3,0,0),new Vector3(0,1,0),rotateSpeed);//让当前对象朝自己的上方移动//transform.forward //自身前方的方向向量// transform.up //自身上方的方向向量// transform.right //自身右方的方向向量// transform.position += transform.up * 0.02f * moveSpeel;//让对象看向某个目标【红色的球】//1、找到红色的球// GameObject target = GameObject.FindWithTag("target");//2、面向它transform.LookAt(target.transform);}```
Unity组件脚本的常用类和结构体GameObject相关推荐
- [Swift]枚举、类与结构体的对比
为什么80%的码农都做不了架构师?>>> ###枚举.类与结构体的对比### ####枚举与其他两者的关系#### 首先说枚举,相对比较好区分,因为我们知道,枚举与其他两者最大 ...
- swift4.0-11 类和结构体
代码学习swift4.0, 类和结构体 // // main.swift // SwiftLearn11-类和结构体 // // Created by iOS on 2018/5/7. // Copy ...
- Swift —— 类与结构体
Swift -- 类与结构体 1. 初识类与结构体 1.1 异同点 1.2 类(引用类型) 1.3 结构体 (值类型) 1.4 类和结构体的内存位置 1.4.1 结构体的内存位置 1.4.2 类的内存 ...
- Swift中的类和结构体(2)
Swift中的类和结构体(2) 异变方法 方法调度 影响函数派发方式 异变方法 在Swift中,值类型属性不能被自身的实例方法修改,编译器不会通过编译,报错Left side of mutating ...
- ios 结构体跟枚举变量的区别_[Swift]枚举、类与结构体的对比
###枚举.类与结构体的对比### ####枚举与其他两者的关系#### 首先说枚举,相对比较好区分,因为我们知道,枚举与其他两者最大的相同之处就在于都可以定义方法. 而其他的更多特性,对于枚举基本没 ...
- Swift 基本知识点之七类与结构体
类和结构体对比 结构体和枚举是值类型 类是引用类型 类和结构体的选择 字符串(String).数组(Array).和字典(Dictionary)类型的赋值与复制行为 类和结构体是人们构建代码所用的一种 ...
- Swift-2.9类和结构体
本页包含内容: 类和结构体对比 结构体和枚举是值类型 类是引用类型 类和结构体的选择 字符串(String).数组(Array).和字典(Dictionary)类型的赋值与复制行为 类和结构体是人们构 ...
- C++_类和结构体所占内存大小,静态成员问题
C++_类和结构体所占内存大小,静态成员问题 静态成员未初始化或者未调用(当然静态成员必须类外初始化才能调用)是不占内存的.静态成员不占类或结构体的内存 静态成员函数同样只声明未定义同样不占内存 指针 ...
- Swift之深入解析类和结构体的本质
一.类和结构体的异同 Swift中,类和结构体有许多相似之处,但也有不同.内存分配可以分为堆区(Heap)和栈区(Stack),由于栈区内存是连续的,内存的分配和销毁是通过入栈和出栈操作进行的,速度要 ...
- c#类和结构体的关系
原文地址:http://www.dnbcw.com/biancheng/c/fvhc81798.html 简介:这是c#类和结构体的关系的详细页面,介绍了和c/c++,有关的知识,谢谢大家的观看!要查 ...
最新文章
- flink on yarn部分源码解析 (FLIP-6 new mode)
- java.text._Java.text
- 我看百度和Google
- 如何给领导打造一款掌上财务管理驾驶舱?
- Python 分析国庆热门旅游景点,告诉你哪些地方好玩、便宜、人又少!
- JavaScript——(function(){})()立即执行函数解析
- 什么是重载?重载的定义是什么?如何判断方法是否重载?最详细解答博文
- 十次方项目登陆问题 token令牌解析,claims获取不到userid,求大神帮忙看下代码解决问题
- 基于jpress二次开发的H5商城(已开源)
- 成为全栈工程师的6个要素
- 小型企业网络规划与组建方案
- 批量打印Word文档并记录(一)
- 1534 棋子游戏(博弈)
- 人脸匹配对齐算法pytorch_PyTorch 实现孪生网络识别面部相似度
- mongodb下载安装和基本操作
- 公平的错觉:韩国教育辛酸史
- VMware Workstation 英文改中文界面
- jdbc操作数据库实现查询产品、增加产品库存量例子
- NLP - Gensim
- UI设计师为什么要学习字体设计?
热门文章
- PHPCMS2008 二次开发摘要
- vb.net oracle数据库,vb.net 如何与oracle数据库连接
- android 版本 6.0升级包,EMUI 6.0系统刷机包
- 点到点短信WAPPUSH研究总结
- JavaScript、canvas小球加速和减速运动
- Mac运行Windows上的应用程序-以PowerDesigner为例
- 2013 Esri全球用户大会之元数据支持
- 5种常见的网络欺骗方式
- 如何使用花生壳或ngork工具将web应用部署到公网上访问
- 计算机会计学ufo报表,UFO报表管理实验报告.doc