unity脚本基础笔记
来源:互联网 发布:淘宝游戏王店铺推荐 编辑:程序博客网 时间:2024/06/08 11:48
//一些脚本里用到的东西吧,纯手打总结 对新手诚意满满。
Translate Rotate
Translate 改变对象位置 Rotate 使对象旋转
//Translate 函数给定一个方向比如 Vector3.Forward 给一个速度 speed=10 在给定一个时间Time.deltatime 以秒为单位
//Rolate 和Translate 差不多用法 第一个参数式按照什么轴旋转? 然后是旋转速度和时间
LookAt
//可以让对象的正前方 朝向设定的方向 可以实现 跟着我们的 主角走 Transfrom 一个对象引用。然后在 面板里给引用赋值 在script 里面调用 lookat
//实现了跟着 白球走。
线性插值
//三个参数 起始值 终止值 和插值的 比例 例: mathf.Lerp(3f,5f,0.5f);返回就是 4
也就是 说 可以用在 vect3 和 color里面 例: Vector3 from=new Vector3(1f,2f,3f); Vector3 to=new Vector3(4f,5f,6f);Vector3.Lerp(from,to,0.75f);
//颜色是四个值 红黄蓝和透明度 同时 也可以用作平滑处理 但是 平滑处理有更好的函数
例: 在Update里面 light.intensity=Mathf.lerp(light.intensity,8f,0.5f);使intensity趋近于8f
Destory函数
可以在游戏运行时候移除物体或者组件 第二个参数可以设置 延迟时间 。
//可以通过引用来销毁 对象 比如 在白球里面引用了 红球,当按下 空格键的时候利用destory函数将红球销毁掉。
//也可以不销毁对象只销毁组件。 例如销毁 MeshRender 这样对象将不会被渲染。
Input.GetButton
Input.GetButton()可以取到自定义按键 Input Manager 可以对输入进行命名并指定对应的按键
// 这个设置其他 的按键也可以 引用设置好的字符串 比如 Jump 默认按键是Space 改变 Space按键 但可以引用设置好的字符串Jump
//GetButton会检测 按键是不是被持续的按下 GetButtonDown 会检测是不是当前帧按下了按键
//检测按钮时 用预先设定好的字符串名称比如 Input.GetButton(“Jump”); 因为GetKey只能用特定按键 所以推荐用GetButton;
Input.GetAxis
GetAxis 返回浮点值 范围在 1 ~ -1之间 //Gravity 表示松开按钮后 返回值归零的速度。
//Sensitivity 表示按下按钮时 返回值到达1 ~-1 的速度。和Fravity相反
//如果是使用摇杆来控制坐标轴 可以设置dead dead 值越大 摇杆也需要移动更大的距离才能获取返回值
//勾选snap 当 正反 按钮同时 按下时 会返回0 如果想获得 水平和垂直方向的输入 那就用Input.GetAxies(“Horizontal”);Input.GetAxies(“Vertical”);
//如果在不需要平滑处理的2D游戏中 也 可以 直接返回整数。
OnMouseDown
OnMouseDown 应该是一个 重载 函数添加这个 函数可以 获取 对象被点击的情况 如果对象被点击了,那么会调用这个函数。
GetComponent
//GetComponent 获得 对象中的组件,这个 用到好多次了。感觉用着不错 脚本引用变量的名称 就是 脚本的 名称 这个函数的 开销可能有点大 deltaTime 是差值时间 可以计算 Update 或者 FixUpate两次调用之间的时间差值。
deltaTime
可以用于 平滑移动 或者其他增量的计算 每一帧的间隔是不固定的 所以如果让每一帧 移动相同的距离时候 整体效果看起来不是很平滑
//于是当在这里面使用了 deltaTime 时候时 间较长的帧移动的距离也就较长 而时间较短的帧移动距离也相对较短
int value;
debug.log(value); //显示信息 在输出里面看到提示信息
Awake Start Update FixedUpdate
在start awake 中赋值变量 不会被 界面的inspactor重写 隐式是在其后进入的
Awake()先被调用,即使脚本未被启用.最好用做设置脚本之间的引用和初始化。
Start中写脚本被启用所需要执行的动作 可以写一些初始化的代码
Awake 和 Start只在脚本的生命周期中被调用一次。
Update() 使用这个函数的脚本每一帧都会被调用。 他不是根据时间轴来的。也就是如果帧间转换速度不一样那么调用所花费的时间也不一样。
FixedUpdate() 是根据正常的时间轴来的 每次调用的时间间隔是相同的。所以一些物理计算在这里实现 比如有钢体 的物理对象.
坐标轴
坐标轴 可以用 左手定则 记住 X Y Z 分别是拇指 食指 中指
坐标是按 (X,Y,Z)的顺序给出的?也就是左右 上下 前后?
Vector3.magnitude会自动计算向量的大小.
通过点积判断是否垂直 x*x+y*y+z*z vector3.doc…()自动计算点积。
通过×积得到垂直于两个向量的向量 A^B=C; vector3.Cross()自动计算叉积。叉积在游戏中可以用来判断扭矩。
启用禁用对象或者组件
启用或者禁用组件可以使用enabled关键字。
同时可以用 enabled 来禁用脚本
可以 启用 或者 禁用 对象 。当禁用了 父对象 旗下的子对象一样不会再游戏里面显示 但是启用复选框会显示打钩。
Object.SetActivity()
- unity脚本基础笔记
- unity脚本基础
- Unity脚本基础
- Unity基础 - 脚本入门
- Unity脚本基础
- 02.Unity 脚本笔记
- Unity基础|Unity脚本创建与执行
- [Unity基础]unity脚本的生命周期
- Unity 基础 - 脚本的生命周期
- [Unity脚本基础] 代码解析
- unity C#脚本开发基础
- 【个人Unity笔记】{基础} 2D小游戏一个简单的自动刷怪脚本
- Unity基础包 FirstPersonController 脚本研究
- Unity基础.001脚本的生命周期
- Unity 基础常用的脚本(一)
- Unity基础1_脚本的认识
- Unity基础2_脚本操作对象
- unity基础开发--学习笔记
- javascript定时任务执行脚本
- 【面试题】Redis相关
- Android自定义捕获Application全局异常
- JavaScript自定义异常
- 文本文件: 头标识
- unity脚本基础笔记
- Jquery的ajax异步执行
- C#之入门总结_多态_07
- 关于C#和JAVA之间高低位转换的问题
- JSON---(1)简介
- 10款顶级web开源框架
- zookeeper 学习笔记-zookeeper的应用
- Django框架之views(业务逻辑)简单后台首页展示的业务逻辑详细描述
- Date 获取当前时间和指定时间