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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阿凯的Excel

让你的Excel表动起来!!!

本次是第二次分享广大网友向我提问的经典问题。 本周问题,利用名称管理器完成二维表的匹配返回!让你的表格动起来! 话说!本次解决方案相对复杂,能看明白并且自己会...

2904
来自专栏hightopo

基于 HTML5 WebGL 的 3D 网络拓扑图

1373
来自专栏Coding迪斯尼

VUE+WebPack前端游戏设计:能量气泡的螺旋升腾特效

1573
来自专栏葡萄城控件技术团队

前端代码标准最佳实践:CSS篇

上一篇《前端代码标准最佳实践:javascript》发表后,大家讨论还是很热烈,从侧面体现了前端工程师对写标准的前端代码的重视程度很高。这些最佳标准实践并不是那...

19510
来自专栏腾讯Bugly的专栏

Android自绘动画实现与优化实战——以Tencent OS录音机波形动画为实例

前言 我们所熟知的,Android 的图形绘制主要是基于 View 这个类实现。 每个 View 的绘制都需要经过 onMeasure、onLayout、onD...

3684
来自专栏葬爱家族

Android高级动画(3)

上一篇文章我们讲了Android中的矢量动画,虽然文中展示的Demo并不多,但是相信大家还是体会到了矢量动画的强大。这里再做一个温故总结:

1121
来自专栏HT

基于 HTML5 WebGL 的 3D 网络拓扑图

  在数据量很大的2D 场景下,要找到具体的模型比较困难,并且只能显示出模型的的某一部分,显示也不够直观,这种时候能快速搭建出 3D 场景就有很大需求了。但是搭...

2895
来自专栏walterlv - 吕毅的博客

WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)

发布于 2018-06-15 01:22 更新于 2018-09...

1183
来自专栏偏前端工程师的驿站

动手写个数字输入框1:input[type=number]的遗憾

前言  最近在用Polymer封装纯数字的输入框,开发过程中发现不少坑,也有很多值得研究的地方。本系列打算分4篇来叙述这段可歌可泣的踩坑经历: 《动手写个数字输...

2385
来自专栏十月梦想

CSS3动画animation

        animation和上次说的transform动画有点不同,需要进行定义动画规则,而animation则无需受体,自动执行动画,translat...

873

扫码关注云+社区