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 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

Flash/Flex学习笔记(32):播放音乐并同步显示lyc歌词(适用于Silverlight)

题外话:个别朋友总是问我同样的问题,做为一名c#/silverlight程序员为啥还要学flash ? 回 答:看日本片时,就不能对照看欧美的么? 不体会日本的...

1787
来自专栏非著名程序员

Android 内存泄露简介、典型情景及检测解决

什么是内存泄露? Android虚拟机的垃圾回收采用的是根搜索算法。GC会从根节点(GC Roots)开始对heap进行遍历。到最后,部分没有直接或者间接引用到...

1868
来自专栏码匠的流水账

jvm排查工具箱jvm-tools

本文主要介绍的是一款jvm排查工具箱:jvm-tools。除了对基本jvm封装外,还提供了jmx访问以及火焰图的生成。

551
来自专栏简书专栏

Python数据分析及可视化-小测验

本文中测验需要的文件夹下载链接: https://pan.baidu.com/s/1OqFM2TNY75iOST6fBlm6jw 密码: rmbt 下载压缩包...

962
来自专栏从流域到海域

在美国国会图书馆标题表的SKOS上运行Apache Spark GraphX算法

这是Bob DuCharme的一篇客串文章。

3547
来自专栏算法+

声音变调算法PitchShift(模拟汤姆猫) 附完整C++算法实现代码

上周看到一个变调算法,挺有意思的,原本计划尝试用来润色TTS合成效果的。 实测感觉还需要进一步改进,待有空再思考改进方案。 算法细节原文,移步链接: http:...

38010
来自专栏Golang语言社区

在Go中使用服务对象模式

NOTE: Most of the code and ideas in this post are things I have been experimenti...

862
来自专栏岑玉海

hbase源码系列(二)HTable 探秘

  hbase的源码终于搞一个段落了,在接下来的一个月,着重于把看过的源码提炼一下,对一些有意思的主题进行分享一下。继上一篇讲了负载均衡之后,这一篇我们从cli...

4648
来自专栏北京马哥教育

shell十三问,为linux学习打基础(三)

本文整理并转自CU上的帖子[学习共享] shell 十三問?,此贴是2003年发表的,但却是相当不错的linux基础知识汇集贴,原帖主使用的台湾风格,本文加以简...

3516
来自专栏何俊林

Android MediaCodec实现多段音视频的截取与拼接

很早以前收藏的一篇文章,本想再访问原作者的blog,好像涉嫌违规被关了,只得遗憾了,不过还好是收藏了,此前在总结多媒体框架时,MediaCodeC作为编解码的重...

2629

扫码关注云+社区