Unity3D学习笔记

39.锚点不能超过父视图的边界。

38.Debug.DrawLine,可以在场景中画出调试用的可视化线,点gizmos可以在运行中看到。

37.PlayerPrefs.SetFloat ("master vol", masterVolumePercent);保存用户设置,下次打开游戏照样有用。

36.DontDestroyOnLoad (gameObject);http://blog.csdn.net/cbbbc/article/details/48328997

35.[Header("Recoil")]加在属性前,可在inspector里为某些属性归类用。

34.Vector3.magnitude 返回向量长度。Vector3.sqrMagnitude速度上更快,如果只是比较两个向量的长度,建议Vector3.sqrMagnitude。

33.Cursor.visible = false;隐藏指针

32.culling mask选择遮罩

31.FindObjectsOfType()在scene中找到所有类型为Enemy的对象。

30.awak()方法是在Instantiate()方法调用后立刻调用的,早于start()方法。

29.StartCoroutine配合IEnumerator方法使用。除了把方法作为参数外StartCoroutine (SpawnEnemy ());,还可以用方法名做参数,如StartCoroutine ("SpawnEnemy");调用可以停止方法执行StopCoroutine ("SpawnEnemy");

28.yield return new WaitForSeconds (3);//3秒后return。

27.Rigidbody.AddTorque 添加力矩

26.Rigidbody.AddForce 添加力

25.prefabs修改了以后要按一下apply按钮使得修改生效。

24.Awake()是在脚本对象实例化时被调用的,而Start()是在对象的第一帧时被调用的,而且是在Update()之前。

23.Application.LoadLevel ("Cartoon Shot");可加载新的scene,以重开游戏。

22.[ContextMenu("Self Destruct")]在inspector中的附加脚本名字上右键菜单里添加一个按钮。类似的黑科技见17.

21.获取脚本附带对象的方法:playerEntity = FindObjectOfType();

20.Mathf.Clamp(x,0,1);限定x的值为0到1.

19.Mathf.RoundToInt()某些情况下要代替int强转。

18.Mathf.PingPong(spawnTimer*tileFlashSpeed,1)

17.if (GUILayout.Button ("Generate Map")) {

map.GenerateMap ();

}可以在inspector里创建一个按钮,很实用。

16.PRNG 。pseudo random number generator 伪随机数生成器

1.物理系统collider碰撞,rigidbody刚体。

加了rigidbody属性的物体,就会被赋予所有物理特性,包括刚体碰撞,重力加速度等。相当于变成真实世界的物体了。没有这个属性的物体像是虚幻的物体,比如没有质量,可以穿墙等。

2.[SerializeField ]加在属性前可以强制在IDE中看到属性。不管是否publice

3.物体添加了某个脚本,该物体就可以被当作该脚本的类的对象。

4.NavMeshAgent类找不到,是因为需要添加包 using UnityEngine.AI;

5.工程目录下的library文件夹可以删掉,每次编译运行会重新生成,可以不添加到版本管理里。

6.【System.Serializable

当一个成员是复合类型时,只要在这个复合类型上标注了[System.Serializable]属性,那这个成员也是一个可编辑的成员。Inspector窗口会按树的形式,依次罗列这个类型中的可编辑成员。

http://www.cnblogs.com/sifenkesi/p/3923616.html

7.Unity中的Inspector面板可以显示的属性包括以下两类:

(1)C#以及Unity提供的基础类型;

(2)自定义类型,并使用[System.Serializable]关键字序列化,比如:

[System.Serializable]

public classTestClass{    public Vector3 vec =Vector3.zero;    public Color clr =Color.green;

}

其中TestClass是我们自己定义的类型,没有继承任何基础类型,所以必须要序列化才能在inspector面板中显示。


8.Quaternion.identity就是指Quaternion(0,0,0,0)是旋转的初始值,类似于Vector3.zero表示位置的初始值。

9.Vector3.Lerp 插值

10.调试http://www.cnblogs.com/lancidie/archive/2013/04/09/3010937.html

11.new Vector3 (maxMapSize.x, maxMapSize.y)是可以的,构造函数去掉了z默认为0;

12.菜单栏上的Component里可以选择想添加的Component到当前所选的物体上。

13.NavMeshObstacle 分为两种模式,一种是普通模式,通过设置半径和高度来确定一个范围,阻档NavMeshAgent移动,一种是Carve模式,在导航网格上,根据模型的大小,挖出一个“洞”,使模型范围内的导航网格消失,这样NavMeshAgent就不能经过次区域了。

14.Vector3.left相当于 new Vector (-1,0,0); Vector3.right相当于 new Vector (1,0,0);

15.变量没有声明的话,编辑器里会变红。

你可能感兴趣的:(Unity3D学习笔记)