Unityのライブラリを使ってアクションゲームを作っております。
Unity 2D Platformer Controller
https://github.com/cjddmut/Unity-2D-Platformer-Controller
こちらだとキーボードの移動ができる機能があり、uGUIでボタンを用意して同じような動作をさせたいです。
PlayerController2D.csを参考にして下記のような実装をしてみました。
ジャンプはできたのですが、左右に動かすことができません。
下記スクリプトだと、キャラクターの向きのみ変わらず移動ができないです。
このライブラリを使ったことがある方おりましたら、アドバイスいただけないでしょうか。
uGUIのボタンはデフォルトのものにイベントを登録するのではなく、
EventTriggerを使って押しっぱなしを検知しております。
C#
1private void Update(){ 2 // 左移動 3 if(leftFlag && !rightFlag){ 4 MoveLeft(); 5 } 6 // 右移動 7 if(rightFlag && !leftFlag){ 8 MoveRight(); 9 } 10 11 Debug.Log(leftFlag); 12} 13 14private void MoveLeft(){ 15 motor.normalizedXMovement = -1; 16} 17 18private void MoveRight(){ 19 motor.normalizedXMovement = 1; 20} 21 22public void PressDownLeft(){ 23 leftFlag = true; 24} 25 26public void PressUpLeft(){ 27 leftFlag = false; 28} 29 30public void PressDownRight(){ 31 rightFlag = true; 32} 33 34public void PressUpRight(){ 35 rightFlag = false; 36} 37 38public void Jump(){ 39 motor.Jump(); 40 motor.DisableRestrictedArea(); 41}
回答1件
あなたの回答
tips
プレビュー