坦克大战

1. 图片素材导入

  将 Texture Type 改为 Sprite(2D and UI)。

    

  图集(一幅图里含多张图片)要将 Sprite Mode 设为 Multiple。

    

 2. 制作动画

  最简单的方法是直接将所有图片拖到 Hierarchy 窗口,可以直接创建动画。

3. 更换 Sprite 的显示

  修改 SpriteRenderer 的 sprite。

1 if (h > 0)
2 {
3     sr.sprite = tankSprites[1];             //
4 }
5 else if (h < 0)                             //
6 {
7     sr.sprite = tankSprites[3];
8 }

4. 2D 碰撞器

  

 5. FixedUpdate

  用于物理刚体移动。

   

6. 欧拉角转四元数

Quaternion.Euler();

7. 触发检测

  添加 BoxCollider2D,勾上 isTrigger。

    

  常用函数为:

 1 void OnTriggerEnter2D(Collider2D other)
 2 {
 3 }
 4 void OnTriggerExit2D(Collider2D other)
 5 {
 6 }
 7 
 8 void OnTriggerStay2D(Collider2D other)
 9 {
10 }

 8. 延迟执行函数

Invoke("InitPlayer", 1f);

   

9. 单例模式

 1 private static PlayerManage instance;
 2 
 3 public static PlayerManage Instance
 4 {
 5     get { return PlayerManage.instance; }
 6     set { PlayerManage.instance = value; }
 7 }
 8 
 9 void Awake()
10 {
11     Instance = this;
12 }

10. 加载场景

1 using UnityEngine.SceneManagement;
2 SceneManager.LoadScene("OtherSceneName",LoadSceneMode.Additive);

猜你喜欢

转载自www.cnblogs.com/coderJiebao/p/unity3d08.html