目標是:牢記以下137條操作,越級上升到中級階段
unity-unity2d基礎操作筆記(三)
- 一百零一、如何操作一個游戲物體由多個部分組成的動畫
- 一百零二、如何使用rigidbody 2d進行物體移動
- 一百零三、獲取游戲物體身上的組件方法
- 一百零四、代碼控制物體朝向
- 一百零五、不使用插件,純手動跳躍的實現
- 一百零六、如何判斷玩家按下了某個鍵
- 一百零七、如何防止跳的過程中可以左右移動
- 一百零八、實現多方向開槍的思路
- 一百零九、如何保存預制體變動
- 一百一十、如何制作子彈預制體
- 一百一十一、如何從預制體路徑上生成子彈
- 一百一十二、如何實現子彈飛行
- 一百一十三、直接在代碼里面可以使用標簽匹配找到物體
- 一百一十四、歐拉角表示旋轉
- 一百一十五、如何獲取另外一個腳本的方法
- 一百一十六、如何通過路徑加載AudioClip
- 一百一十七、代碼中如何控制游戲物體身上的Animator組件是否勾選
- 一百一十八、如何通過界面的方式添加動畫事件
- 一百一十九、圍繞自身旋轉代碼實現
- 一百二十、手榴彈遇到物體時的狀態設置
- 一百二十一、移動的第四種方法
- 一百二十二、游戲物體旋轉的寫法
- 一百二十三、如何在c#中實現要等待一秒執行
- 一百二十四、audioSource.playOnAwake=false表示不會開始時自動播放【技巧】
- 一百二十五、如何使用代碼找到指定范圍內的所有敵人
- 一百二十六、如何計算transform的距離
- 一百二十七、如何實現不使用插件情況下,如何實現鏡頭跟隨游戲物體
- 一百二十八、如何讓攝像機不移動,固定在一個位置
- 一百二十九、Text的命名空間:using UnityEngine.UI
- 一百三十、如何通過組件的類型名稱獲取游戲物體
- 一百三十一、開火點一般都設置成物體的子物體,調整好位置【技巧】
- 一百三十二、如何為空物體設置顏色icon
- 一百三十三、layer的檢視面板中,越靠下面就越顯示在上面【技巧】
- 一百三十四、物體朝某個方向移動的方法
- 一百三十五、Random.Range(0,101)隨機生成0到100的隨機數,左邊包括,右邊不包括
- 一百三十六、使用AddListener方式添加按鈕點擊事件
- 一百三十七、如何從一個場景跳轉到另外一個場景
一百零一、如何操作一個游戲物體由多個部分組成的動畫
當一個人物由多個部分的動畫組成,可以將動畫的多個部分都放入一個數組中,當需要執行某個動作時,循環數組執行某一個動畫就可以了
一百零二、如何使用rigidbody 2d進行物體移動
float h = Input.GetAxis(“Horizontal”); rd.velocity = new Vector2(h " speed * Time.fixedDeltaTime, rd.velocity.y);
一百零三、獲取游戲物體身上的組件方法
一個游戲物體上可以掛在多個腳本,可以通過如下獲取腳本,同時,當播放動畫的時候,一般都需要先獲取Animator組件
-
public定義好
-
直接拖動
-
通過代碼GetComponent獲取
一百零四、代碼控制物體朝向
transform.rotation=Quternion.Euler(0,0,0)右邊
transform.rotation=Quternion.Euler(0,180,0)右邊
一百零五、不使用插件,純手動跳躍的實現
-
還是使用rigidbody2d組件
-
通過rigidbody 2d組件給一個向上的力
rd.AddForce(Vector2.up*500F);
- 如何防止多段空中跳躍
可以設定給一個int的值如 int 具名Num=1
在按下鍵的時候Num-=1
同時執行動畫的條件加上一個&& 條件Num>0
當落在地上的時候Num=1
- 如何判斷是否落在地上
先給地上打上標簽,通過碰撞體碰撞的時候判別,碰撞的時候識別碰撞的是什么,可以通過
other.transform.tag
一百零六、如何判斷玩家按下了某個鍵
Input.GetKeyDown(KeyCode.K)
一百零七、如何防止跳的過程中可以左右移動
只需要判斷是否在地上,在空中,就不移動,在移動方法中直接returnif(isOnGround -false) return;
一百零八、實現多方向開槍的思路
-
在玩家上和右邊創建空物體作為發射點
-
在hirachy中,將發設定放在玩家的下面
一百零九、如何保存預制體變動
-
如果在hirachy中,預制體有 改動
-
在inspector面板中,點擊overrides保存變動
-
然后點擊apply all
一百一十、如何制作子彈預制體
-
在hirachy中,創建一個2d object中的sprite