Unity3D学习笔记第一课
时间:2022-05-03
本文章向大家介绍Unity3D学习笔记第一课,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
第一课程: 1.Unity类名必须与文件名保持一致
2.讲属性设置为public可以在Unity中访问
public float speed;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//获取左右方向键的的值(范围为-1到1)
float amtToMove = Input.GetAxis ("Horizontal") * speed;
//使用矩阵进行平移
gameObject.transform.Translate (Vector3.right * amtToMove);
}
3.摄像机:游戏的输出画面是由摄像机所观测的场景而实现的,将游戏场景呈现到2D的计算机屏幕,有 两种投影方式为透视投影和正交投影,Unity默认为透视投影,透视投影感觉有距离感,正交投影没有距离感。 开发Unity2D游戏,需要将投影方式改为正交投影。
透视投影的三个主要参数: FieldofView(视角), NearClipPlane(近看平面), FarClipPlane(远看平面)
4.GameObject对象包含transform,camera属性,GetComponet和AddComponent等方法
5.Transform实现对象的位置、旋转以及缩放 position rotation localScale Translate方法 Rotate方法
6.Input.GetAxis()与Input.GetAxisRaw()检测方向键 检测上下移动 Input.GetAxis("Vertical") 检测左右移动 Input.GetAxis("Horizontal")
7.Time类 deltaTime 上一帧到本帧的时间,单位为秒
8.三个Update的调用顺序 MonoBehaviour.FixedUpdate() MonoBehaviour.Update() MonoBehaviour.LateUpdate()
9.循环移动方块
public class Player : MonoBehaviour {
public float playerSpeed;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
Debug.Log ("Update");
var moveto = Input.GetAxis ("Horizontal") *Time.deltaTime* playerSpeed;
gameObject.transform.Translate (Vector3.right * moveto);
if (transform.position.x > 9.15) {
transform.position=new Vector3(-9.15f,transform.position.y);
}
if (transform.position.x <- 9.15) {
transform.position=new Vector3(9.15f,transform.position.y);
}
}
void LateUpdate(){
Debug.Log ("LateUpdate");
}
void FixedUpdate(){
Debug.Log("FixedUpdate");
}
}
9.创建按钮并响应按钮操作
void OnGUI(){
if (GUI.Button (new Rect (0, 0, 100, 50), "Play")) {
}
else if (GUI.Button (new Rect (0, 60, 100, 50), "Pause")) {
}
else if (GUI.Button (new Rect (0, 120, 100, 50), "Stop")) {
}
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 巧用 Nsenter 调取宿主机工具调试容器内程序
- 如何在 Kubernetes 集群中集成 Kata
- Pytest实战
- Native 与 Weex 交互通用解决方案
- 20个MySQL运维案例,请查收!
- Unity3D中使用Joystick Pack实现摇杆控制
- Unity3D使用Timeline实现过场动画
- Oracle中ascii为0的陷阱
- VBA解析VBAProject 05——提取模块代码
- VBA解析VBAProject 06——清除VBA工程密码
- VBA解析VBAProject 07——隐藏模块
- python测试开发django-83.Dockerfile部署django项目
- python测试开发django-82.线上部署设置DEBUG=FALSE
- BCEL ClassLoader去哪了
- python接口自动化35-r.html.render() 下载无反应问题解决