top of page

[#3] ループ処理とユーザー入力 – Unityでのプログラミング入門

更新日:2024年10月9日



ree

はじめに

前回の記事では、変数や条件分岐を使った基本的なゲームロジックを学びました。今回は、プログラミングの重要な要素である「ループ処理」と、プレイヤーからの「ユーザー入力」を扱う方法について解説していきます。これらを理解することで、さらにインタラクティブなゲームを作れるようになります。


【目次】





1. ループ処理とは?

ループ処理は、特定の処理を繰り返し行うための構文です。例えば、複数のオブジェクトに同じ処理を適用したり、条件が満たされるまで同じ操作を繰り返したりする際に使用します。C#では代表的なループ処理として、for文とwhile文があります。

for文の基本構造

for文は、あらかじめ決まった回数だけ処理を繰り返したいときに使います。


ループ処理とユーザー入力 画像1

上記のコードでは、iという変数を0からスタートし、i < 5の間ループが実行されます。i++によって毎回iが1ずつ増加し、5回ループした後に終了します。


while文の基本構造

while文は、条件が真(true)の間、処理を繰り返します。条件が変わるまで無限にループすることもできますが、その際はループが終了するための条件をきちんと設定する必要があります。


ループ処理とユーザー入力 画像2

この例では、countが5未満である間ループが繰り返されます。count++で値を増やして条件を変えているので、5回目でループが終了します。




2. ユーザー入力を扱う

次に、プレイヤーからの入力を扱う方法を紹介します。Unityでは、キーボードやマウス、コントローラーなどからの入力を取得することができます。


キーボード入力を取得する

Unityでは、Inputクラスを使用してキーボード入力を取得します。例えば、プレイヤーが特定のキーを押した際に特定の動作をさせることができます。


ループ処理とユーザー入力 画像3

Updateメソッドは毎フレームごとに呼び出されるため、リアルタイムでプレイヤーの入力をチェックできます。この例では、Wキーが押されている間メッセージを出力し、スペースキーが押された時と離された時にそれぞれメッセージを表示します。


マウス入力を取得する

マウス入力も同様にInputクラスを使って取得できます。クリックの判定やマウスの位置を取得して、インタラクティブな操作を実装することが可能です。


ループ処理とユーザー入力 画像4

この例では、マウスの左クリックが押された瞬間にメッセージが表示され、さらに現在のマウスの位置がコンソールに出力されます。Input.mousePositionを使えば、マウスの位置に基づいてゲーム内のオブジェクトを操作することも可能です。



3. 実践:プレイヤーキャラクターの移動

ここでは、これまでの内容を使って、キーボード入力によってプレイヤーキャラクターを左右に動かす方法を紹介します。


ループ処理とユーザー入力 画像5

このコードでは、プレイヤーが左矢印キーまたは右矢印キーを押すと、キャラクターが左右に移動します。Translateメソッドを使ってオブジェクトの位置を変更し、Time.deltaTimeでフレームレートに依存しない動きを実現しています。



まとめ

今回の記事では、Unityでのループ処理とユーザー入力の基本について学びました。ループ処理を使うことで同じ処理を繰り返し行え、ユーザー入力を取得することでインタラクティブな要素をゲームに追加できます。

次回は、複数のオブジェクトを動かしたり、プレイヤーとゲームオブジェクトとの相互作用を扱う方法について解説します。ぜひ一緒にステップアップしていきましょう!



最新記事

すべて表示
個人開発ゲーム制作者の「あるある」20連発

こんにちは、アマギラスです。個人でゲーム開発をしているとふとしたタイミングでアイデアが思い浮かんだり、途端にやる気がなくなったり、嫌気がさしたり…色々ありますよね? そんなあるあるを20個ほどご用意しました。個人開発ゲーム制作者の「あるある」20連発少しでも共感していただけ...

 
 
bottom of page