Unity Scripting Tutorials 要点记录
(搬运自我在SegmentFault的博客)
这几天通过Unity官网的Unity Scripting Tutorials的视频学习Unity脚本,观看的过程中做了记录。现在,整理了一下笔记,供自己以后和其他初学者参考。
Awake和Start
- Awake首先执行。通常用于建立组件间的引用,初始化。
- Start在Awake之后和第一次Update之前执行,并且要求脚本enabled。只执行一次。
Updte和FixedUpdate
- Update每帧一次,间隔不固定(受帧的处理时间影响),用于处理:
- 非物理物体的运动
- 获取输入
- 定时器
- FixedUpdate间隔固定,用于调整物理物体(刚体)。
enabled、setActive和Destroy
- enabled控制禁用和启用一个组件。禁用GameObject的renderer可以隐藏物体,但碰撞体仍然存在。
- setActive用于显示和隐藏一个物体。
- Destroy用于彻底销毁一个GameObject或组件。可以加一个数值表示delay。
Translate和Rotate
使用这两个方法控制物体运动。
Translate对应position:
transform.Translate(Vector3); // Amount in each axis to move by
Rotate对应rotation:
transform.Rotate(Vector3, // Axis around which to rotate
float) // amount to rotate by
LookAt
transform.LookAt(target);
用于移动物体Z轴使之对准目标物体。
将其绑定到相机上可以实现运动物体的跟踪。
Lerp
用于平滑某种转变。
空间移动:
Vector3.Lerp(Vector3 from, // 起点。通常应设为当前坐标
Vector3 to, // 终点
float t); // 0~1之间的值。值越大,返回值越接近终点,移动也越快。
数值变换:
Mathf.Lerp(float from, float to, float t);
颜色渐变:
Color.Lerp(Color from, Color to, float t);
GetButton、GetKey和GetAxis
GetButton和GetKey的区别:
- 前者参数为字符串,可以通过设置面板更改字符串和对应按键的映射。
- 后者的参数为KeyCode对象。
GetButton/Up/Down的区别:
- Up按键弹起时为true,其他时为false;
- 长按时GetButton每帧都返回true,而Down只有第一帧。
GetAxis(axisName)通过获取某个轴的值来了解用户的输入。
- axisName是字符串,可以是“Horizontal”、“Vertical”。
- 返回值为0~1之间的值。
- 在设置中可以调节轴的参数,gravity控制返回0的速度,sensitivity控制离开0的速度。
OnMouseDown
鼠标在Collider或GUI组件上按下时调用该方法。
同类方法:
- OnMouseDrag:按住不放
- OnMouseEnter:进入
- OnMouseExit:退出
- OnMouseOver:在上面
- OnMouseUp:释放
- OnMouseUpAsButton:按下和释放作用于同一个对象
Instantiate
创建prefab的副本,返回对象的引用。
使用时先用代码创建GameObject的变量,然后回到编辑器界面将prefab拖入变量中。
Invoke
调用名叫method的方法:
Invoke(method, delay);
每隔time重复调用method方法:
InvokeRepeating(method, delay, time);
取消Invoke:
CancelInvoke();
取消名叫method的Invoke:
CancelInvoke(method);
Coroutine
利用了C#的yield,来实现在多次Update中执行一个行为。
开始一个Coroutine:
StartCoroutine(IEnumerator routine);
或者接受一个string参数表示方法的返回IEnumerator的方法的名字,后面跟着参数。
例:
StartCoroutine(Func(param));
StartCoroutine("Func", param);
停止一个Coroutine,用StopCoroutine。同样有两种形式。
Quaternion
用来表示旋转的类。讲了三个内容:
1)
LookRotation(Vector3 forward);
返回使物体转向forward方向的Quaternion。
2)
Slerp(Quaternion from, Quaternion to, float t);
旋转角度。相比Lerp,在中间时快,两头时慢。
3)
Quaternion.identity是一个静态变量,表示没有旋转。
Unity Scripting Tutorials 要点记录的更多相关文章
- iBatis & myBatis & Hibernate 要点记录
iBatis & myBatis & Hibernate 要点记录 这三个是当前常用三大持久层框架,对其各自要点简要记录,并对其异同点进行简单比较. 1. iBatis iBatis主 ...
- JAVA 中LinkedHashMap要点记录
JAVA 中LinkedHashMap要点记录 构造函数中可能出现的几个参数说明如下: 1.initialCapacity 初始容量大小,使用无参构造方法时,此值默认是16 2.loadFactor ...
- Unity AssetBundle 踩坑记录
Unity AssetBundle 踩坑记录 editor 下选择什么平台的 ab 加载 Material doesn't have a color property '_Color' UnityEd ...
- python学习第一课要点记录
写在要点之前的一段话,留给将来的自己:第一次参加编程的培训班,很兴奋很激动,之前都是自己在网上找免费的视频来看,然后跟着写一些课程中的代码,都是照着模子写,没有自己过多的思考.感觉这样学不好,除了多写 ...
- 编写高质量JavaScript代码的基本要点记录
原文:深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 1.最小全局变量(Minimizing Globals)的重要性 JavaScript通过函数管理作用域.在 ...
- Unity GC 优化要点
参考:http://blog.csdn.net/znybn1/article/details/76464896 为啥要点?因为讲的重点. 游戏运行时来存储数据,当这些数据不再被使用时,存储这些数据的内 ...
- Unity Ulua1.03优化记录
现在项目的框架是在2015年设计的,那时候Ulua还处于1.03版本,现在回头再看,Ulua已经迭代到1.25版本,中间引入带有wraper的cstolua,而后转向现有的toLua#版本. 随着版本 ...
- Android开发入门要点记录:四大组件
cocos2dx跨平台开发中需要了解android开发,昨天快速的浏览了一本Android开发入门教程,因为之前也似懂非懂的写过Activity,Intent,XML文件,还有里面许多控件甚至编程思想 ...
- 【基因组预测】braker2基因结构注释要点记录
目录 流程使用 问题 记录下braker2的使用要点,以备忘记. 流程使用 braker2有很多流程,根据你的数据:组装的基因组.转录组.蛋白(同源,包括近缘或远缘)选择不同流程,官网有说明: htt ...
随机推荐
- 使用kendoui对grid指定行变色
关键点在于绑定数据源后进行判断,可直接获取当前绑定对象的属性 dataBound: function () { dataView = this.dataSource.view(); ; i < ...
- 前端开发 Grunt 之 Connect
在前端开发过程中,我们需要在开发过程中,将开发中的站点部署到服务器上,然后,在浏览器中查看实际的效果,在 Grunt 环境下,可以直接使用集成在 Grunt 中的 Connect 插件完成站点服务器的 ...
- easyui combo下拉框多选框
按照自己的方式,先晒下效果图: 选一个值,那么就在input里面显示一个,去掉勾选,那么input就会少一个 其实做法很简单,今天就是快下班了,闲着没事加篇博客而已,下面带上代码. 1.页面的展示,i ...
- Leveldb 实现原理
原文地址:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html LevelDb日知录之一:LevelDb 101 说起LevelD ...
- 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification) 0.写在前面的话 我个人一直很喜欢算法一类的东西,在我看来算法是人类智慧的精华,其中蕴含着无与伦比 ...
- LARGE_INTEGER
#include <windows.h> int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR ipCm ...
- 利用Ossim系统进行主机漏洞扫描
利用Ossim系统进行主机漏洞扫描 企业中查找漏洞要付出很大的努力,不能简单的在服务器上安装一个漏洞扫描软件那么简单,那样起不了多大作用.这并不是因为企业中拥有大量服务器和主机设备,这些服务器和设备又 ...
- LoadRunner用户行为模拟器 《第三篇》
用户行为模拟器简称VU,VU通过运行VU脚本模拟了用户对软件的操作行为.VU是基于网络协议的.很明显,被测服务器是通过各种各样的网络协议与客户端打交道的.VU要“骗过”被测服务器,当然就要遵守这些协议 ...
- CSS渲染速度改善的十个方法与建议
由于不同浏览器对HTML标签的解释有差异,所以最终的网页效果在不同的浏览器中可能是不一样的,为了消除这方面的风险 一.*{} #zishu *{} 尽量避开 由于不同浏览器对HTML标签的解释有差异, ...
- 使用SSL确保通信中的数据安全
#region Server /// <summary> /// 用于保存非对称加密(数字证书)的公钥 /// </summary> private string public ...