攻撃力の強化②(オプションのコントロール)



Optionのコントロール
using System.Collections; using System.Collections.Generic; using UnityEngine; public class OptionController : MonoBehaviour { public GameObject[] options; private bool moveOK = false; private Vector3 playerPos; // リスト(Playerの位置情報の取得) private List<Vector3> playerPosRecord = new List<Vector3>(); void Start() { // スタート時に40個の位置情報を保存 playerPos = transform.position; for (int i = 0; i < 40; i++) { playerPosRecord.Add(playerPos); } } // プレーヤーが動いている間は、プレーヤーの位置まで移動 // プレーヤーが止まれば、停止 void Update() { // Playerの位置情報を常に取得 playerPos = transform.position; // Playerが動いているか否かの判定は入力の絶対値で行う(テクニック) // 絶対値の取得 float h = Mathf.Abs(Input.GetAxis("Horizontal")); float v = Mathf.Abs(Input.GetAxis("Vertical")); if (h > 0.5f || v > 0.5f) { moveOK = true; // 動いている判定 } else { moveOK = false; // 停止判定 } if(moveOK) { // リストのインデックス0番に新しい位置データを挿入する。 playerPosRecord.Insert(0, playerPos); // 一番古い位置データを削除する。 playerPosRecord.RemoveAt(playerPosRecord.Count - 1); } // 各Optionの位置データの更新 options[0].transform.position = playerPosRecord[9]; options[1].transform.position = playerPosRecord[19]; options[2].transform.position = playerPosRecord[29]; options[3].transform.position = playerPosRecord[39]; } }
C#


【2021版】Danmaku(基礎/全55回)
他のコースを見る


Optionのコントロール
using System.Collections; using System.Collections.Generic; using UnityEngine; public class OptionController : MonoBehaviour { public GameObject[] options; private bool moveOK = false; private Vector3 playerPos; // リスト(Playerの位置情報の取得) private List<Vector3> playerPosRecord = new List<Vector3>(); void Start() { // スタート時に40個の位置情報を保存 playerPos = transform.position; for (int i = 0; i < 40; i++) { playerPosRecord.Add(playerPos); } } // プレーヤーが動いている間は、プレーヤーの位置まで移動 // プレーヤーが止まれば、停止 void Update() { // Playerの位置情報を常に取得 playerPos = transform.position; // Playerが動いているか否かの判定は入力の絶対値で行う(テクニック) // 絶対値の取得 float h = Mathf.Abs(Input.GetAxis("Horizontal")); float v = Mathf.Abs(Input.GetAxis("Vertical")); if (h > 0.5f || v > 0.5f) { moveOK = true; // 動いている判定 } else { moveOK = false; // 停止判定 } if(moveOK) { // リストのインデックス0番に新しい位置データを挿入する。 playerPosRecord.Insert(0, playerPos); // 一番古い位置データを削除する。 playerPosRecord.RemoveAt(playerPosRecord.Count - 1); } // 各Optionの位置データの更新 options[0].transform.position = playerPosRecord[9]; options[1].transform.position = playerPosRecord[19]; options[2].transform.position = playerPosRecord[29]; options[3].transform.position = playerPosRecord[39]; } }
C#


攻撃力の強化②(オプションのコントロール)