GameDevelop Newbie' Diary

GameDevelop Newbie' Diary

ゲーム開発について学びながら日記を徒然書いていきます

Amebaでブログを始めよう!

準備

物体の移動方法は幾つもの方法があると思いますが、

今回私が選んだのは「入力に応じて座標を書き換える」方法です。

まずは操作するプレイヤーキャラクターとする

オブジェクトをシーンに設置し、

プレイヤーの動作を扱う処理を書き込むスクリプトを

新たに作成してそのオブジェクトに適用します。

次に、今回はUnityの物理演算に挙動を任せるつもりなので、

プレイヤーに対して"Rigidbody"コンポーネントを取り付けます。

これを適用することで、そのオブジェクトはUnityの物理演算による

物理法則に従うようになります。

 

入力を受け取る

キャラクターをプレイヤーの思い通りに動かす為には、

プレイヤーの入力を受け取って処理する必要があります。

その際に用いるのが"Input"クラス内のメンバーです。

このクラスには、外部デバイスからの入力を読み取る為の

変数関数が記述されています。

ここで、先程作ったスクリプトのUpdate関数内に

次の文を記述してみます。

※スクリプトに使用する言語はC#です。

 

Update(){

  float horizontalInput = Input.GetAxisRaw("Horizontal");

}

 

Update関数は、毎フレームに一回呼び出される関数で、

この中に記述した命令はゲーム中

常に実行されると考えて良いと思います。

こうすることで、"horizontalInput"変数には常に

仮想軸(コントローラーのスティックやキー等)からの入力を0から1の値で

代入され続ける、という事になり、この変数を用いることで

仮想軸への入力内容に応じた結果を返す命令を書ける事になります。