博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity3D学习笔记第一课
阅读量:6799 次
发布时间:2019-06-26

本文共 1725 字,大约阅读时间需要 5 分钟。

第一课程:

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")) {
}
}

转载地址:http://gnuwl.baihongyu.com/

你可能感兴趣的文章
微软云数据库 Azure SQL DB Hyperscale如何实现超大规模存储和高可用?
查看>>
华为的汽车“攻势”
查看>>
超级账本HyperLedger初体验
查看>>
用基于模型和接口的T4来生成RESTful服务
查看>>
苹果裁撤自动驾驶项目员工200余人
查看>>
广深IT之行:传统模式与技术创新的融合
查看>>
「Android」 详细全面的基于vue2.0Weex接入过程(Android视角)
查看>>
关于CarbonData+Spark SQL的一些应用实践和调优经验分享
查看>>
我们究竟应不应该使用框架?
查看>>
敏捷的忠实拥护者David Hussman于8月18日去世
查看>>
W3C发布DRM作为推荐方案
查看>>
前端计划——Codewars的一些JavaScript题集
查看>>
红帽论坛北京站召开 设立亚太开放创新实验室
查看>>
Spark生态顶级项目汇总
查看>>
EF Core 2.1路线图:视图、GROUP BY和惰性加载
查看>>
NetBeans在Apache基金会取得的进展
查看>>
Netflix实时流处理平台Keystone介绍
查看>>
一文带你快速读懂.NET CLI
查看>>
深入探索JVM自动资源管理
查看>>
实现TeX的算法:回首编程技术的过去三十年
查看>>