【2DのTest】14_攻撃方向をキー入力で変更したい
8方向に攻撃したい
player_shot_roll.csを新規で作る
キー入力で8方向を指定する古き良き操作方法
回転に関して参考にしたサイト
tama-lab.net
スクリプトの全体はこんな感じ
using System.Collections; using System.Collections.Generic; using UnityEngine; public class player_shot_roll : MonoBehaviour{ void Update(){ //キー入力判定 if (Input.GetKey(KeyCode.UpArrow)) { transform.rotation = Quaternion.Euler(0, 0, 90f); } if (Input.GetKey(KeyCode.DownArrow)) { transform.rotation = Quaternion.Euler(0, 0, -90f); } if (Input.GetKey(KeyCode.RightArrow)) { transform.rotation = Quaternion.Euler(0, 0, 0); } if (Input.GetKey(KeyCode.LeftArrow)) { transform.rotation = Quaternion.Euler(0, 0, 180f); } if (Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.RightArrow)) { transform.rotation = Quaternion.Euler(0, 0, 45f); } if (Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.LeftArrow)) { transform.rotation = Quaternion.Euler(0, 0, 135f); } if (Input.GetKey(KeyCode.DownArrow) && Input.GetKey(KeyCode.RightArrow)) { transform.rotation = Quaternion.Euler(0, 0, -45f); } if (Input.GetKey(KeyCode.DownArrow) && Input.GetKey(KeyCode.LeftArrow)) { transform.rotation = Quaternion.Euler(0, 0, -135f); } } }
矢印キーの判定
//上キー Input.GetKey(KeyCode.UpArrow) //下キー (Input.GetKey(KeyCode.DownArrow) //右きー (Input.GetKey(KeyCode.RightArrow) //左キー Input.GetKey(KeyCode.LeftArrow
斜め方向は方向を組み合わせて判定
//右上 Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.RightArrow) //左上 Input.GetKey(KeyCode.UpArrow) && Input.GetKey(KeyCode.LeftArrow) //右下 Input.GetKey(KeyCode.DownArrow) && Input.GetKey(KeyCode.RightArrow) //左下 Input.GetKey(KeyCode.DownArrow) && Input.GetKey(KeyCode.LeftArrow)
角度は直で指定
z軸を90度回転 transform.rotation = Quaternion.Euler(0, 0, 90f);
攻撃できた!!
イイ感じ
次は弾の当たり判定と寿命を設定して削除していきたい