目次
- 目次
- 前回のチュートリアル
- はじめに
- プレイヤーを制御するスクリプトの作成
- プレイヤーを制御するコードの記述
- プレイヤーを制御するスクリプトの反映
- 動作確認
- 作業内容の保存
- 補足:プレイヤーの移動速度について
- 次のチュートリアル
- チュートリアル一覧
前回のチュートリアル
はじめに
前回は、プレイヤーと背景をシーンに配置しました
今回は、プレイヤーを WASD キーや矢印キーで操作できるようにしていきます
プレイヤーを制御するスクリプトの作成
まず、プレイヤーを制御するスクリプトを作成していきます
Project の欄の「+」を押して
「Folder」を選択し、
作成したフォルダに「Scripts」と名前を付けます
さらに、作成した「Scripts」フォルダを右クリックして
「Create>C# Script」を選択し、
作成したスクリプトに「Player」と名前を付けます
これで、プレイヤーを制御するスクリプトの作成が完了しました
プレイヤーを制御するコードの記述
さきほど作成した「Player」をダブルクリックします
すると、お使いの環境に合わせて Visual Studio や MonoDevelop などの、
プログラムを書くためのエディタが起動するので、
下記のコードを記述していきます
using UnityEngine; // プレイヤーを制御するコンポーネント public class Player : MonoBehaviour { public float m_speed; // 移動の速さ // 毎フレーム呼び出される関数 private void Update() { // ゲームを 60 FPS 固定にする Application.targetFrameRate = 60; // 矢印キーの入力情報を取得する var h = Input.GetAxis( "Horizontal" ); var v = Input.GetAxis( "Vertical" ); // 矢印キーが押されている方向にプレイヤーを移動する var velocity = new Vector3( h, v ) * m_speed; transform.localPosition += velocity; } }
コードの記述が完了したら、Ctrl + S を押すなどして、スクリプトを保存し、
Unity エディタに戻ります
プレイヤーを制御するスクリプトの反映
スクリプトは、ゲームオブジェクトにアタッチすることで動作するようになります
作成した「Player」スクリプトを、「Player」オブジェクトにドラッグします
そして、「Player」オブジェクトを選択すると、
「Player」スクリプトがアタッチされていることがわかります
アタッチされている「Player」スクリプトを見ると、「Speed」と表示されています
これは、先ほど記述したコードの「m_speed」変数です
スクリプト内の public 変数は、このように、Untiy エディタ上で編集できるようになり、
コードを編集しなくても、Unity エディタ上でパラメータを調整できるようになります
今回は、「Speed」に「0.1」と入力します
動作確認
これで、プレイヤーを制御するスクリプトの作成と反映が完了したので、
Unity エディタ上部の再生ボタンを押して、ゲームを実行してみます
そして、WASD キーもしくは矢印キーを押すと、
プレイヤーを操作できることが確認できます
動作確認が終わったら、Unity エディタ上部の再生ボタンを押して、ゲームを停止します
今後も、ゲームの動作確認が終わったら、必ずゲームを停止するようにしましょう
もし、ゲームを再生したまま作業を続けてしまうと、
作業内容が正常に保存されないことがあるためです
作業内容の保存
Ctrl + S を押して、ここまでの作業内容を保存しておきます
今後も、ある程度作業が進んだら、作業内容を保存しておきましょう
もし、作業内容を保存せずに作業を続けてしまうと、
Unity エディタや PC が万が一フリーズした時に、作業内容が消えてしまうためです
次回は、プレイヤーが画面外に出ないように移動範囲を制限していきます
補足:プレイヤーの移動速度について
もしもプレイヤーの移動速度が速くて操作が難しい場合は
「Player」スクリプトの「Speed」の数値を調整してください