はじめてのUnity 【第13回 Unityでバランスゲームを作ろう①】 ~キー入力でオブジェクトを動かす編~

この記事は2015年7月1日に書かれたものです。内容が古い可能性がありますのでご注意ください。


はじめてのUnity 【第13回 Unityでバランスゲームを作ろう①】 ~キー入力でオブジェクトを動かす編~

Unityでバランスゲームを作ろう①
~キー入力でオブジェクトを動かす編~

前回、Updateメソッドを使ってオブジェクトを回転させました。
今回は、キー入力によってオブジェクトを任意の方向に回転させてみたいと思います。

また、今までやってきたコンポーネントを組み合わせて、
方向キーを入力してステージを傾けて、ボールを穴に落とすといった、ちょっとしたゲームを作ってみます。


Input.GetKey() メソッド

何かしらの入力に対して処理を返すメソッドはいくつかありますが、今回はGetKey系のメソッドを使用します。
(他には、Input.GetButton系、Input.GetMouseButton系 などがあり、用途によって使い分けます。)


サンプルコード

今回使用するサンプルコードです。

using UnityEngine;
using System.Collections;

public class GetKey : MonoBehaviour {

	// Use this for initialization
	void Start () {

	}

	// Update is called once per frame
	void Update () {

		if (Input.GetKey("up")) {
			transform.Rotate (1f,0f,0f);
		}
		if (Input.GetKey("down")) {
			transform.Rotate (-1f,0f,0f);
		}
		if (Input.GetKey("right")) {
			transform.Rotate (0f,0f,-1f);
		}
		if (Input.GetKey("left")) {
			transform.Rotate (0f,0f,1f);
		}
	}
}

スクリプトの12~26行目を見てみましょう。

前回紹介したUpdate() メソッドがあり、その中にif() というメソッドが4つあります。
さらにif() の中には、Input.GetKey() というメソッドがあります。

if() というメソッドは、「もし()なら、{}する」というものです。
Input.GetKey() メソッドは、「()の中のキー入力に対して、{}する」というものです。


		if (Input.GetKey("up")) {
			transform.Rotate (1f,0f,0f);
		}

つまり14~15行目には

もし、upキーの入力があったら、TransformコンポーネントのRotateの値を、X軸を中心に1フレーム毎に1度回転する

という内容のスクリプトが書かれています。
これが上下左右の4つのキー入力分なので、4つ書かれているというわけです。

ページ:

1

2
  • このエントリーをはてなブックマークに追加

PAGE TOP