独自の命令を書く

Tutorial

Beginner

+0XP

15 mins

(107)

Unity Technologies

独自の命令を書く

このチュートリアルでは、次のことを行います。

  • スクリプト内の命令を読む練習をする
  • 新しい変数を宣言して割り当てる、独自の命令を記述する
  • ゲームへの変更をテストして確認する

このチュートリアルを終えると、「Creator Kit:コーディング入門」のゲーム中のポーションが配置される間隔が変更された状態になります。

Languages available:

1. ポーションを配置する間隔を指定する命令を探す

変数を宣言して値を割り当てる命令について説明したので、独自の命令を作成する準備が整いました。

ポーションが PotionSpawner ゲームオブジェクトによって配置される間隔を変更することから始めましょう。まず、次の課題に取り組んでみてください。

  • SpawnerSample スクリプトで、ポーションを配置する場所をコンピューターに指示している命令を見つけましょう。この命令は、スクリプト内で 3 回繰り返されています。

全部理解できないかもしれない、と心配することはありません。変数名、見つけた単語、変数の割り当てを手掛かりとして、最も適当と思われる命令を特定してください。

2. 命令を分解する

ポーションの配置間隔を制御する命令は、SpawnerSample スクリプトの 1419、および 24 行目で繰り返し使われています。

spawnPosition = transform.position + direction * 2; 

この命令を分解してみましょう。

1. まず、すでに指示について知っていることを探してみましょう。

  • 値が変数に割り当てられるときに使う等号(=)が含まれます。ここでは、変数には spawnPosition という名前がついています。
  • この変数の名前は、変数がポーションの配置位置を持つことを示しています。命令が 3 回(配置されるポーションの数と同じ)繰り返されることが、これを裏付けます。

2. 次に、Unity スクリプティングリファレンスを使って、命令の中でわからない用語を検索します。transform.position を検索し、先頭に表示される結果を選択します。

検索結果として得られたページに、transform.position がゲームオブジェクトにアタッチされた Transform コンポーネントの position プロパティであるという説明が表示されます。ここで言うゲームオブジェクトとは、ポーションを生成する PotionSpawner で使われているものと同じゲームオブジェクトです。

3. direction という名前の変数は、各ポーションが配置される方向を示します。

4. 2 という数値は、各ポーションが配置される方向に沿った距離を表します。

まとめ

この行の命令は、transform.position + direction * 2 を変数 spawnPosition に割り当てて、ポーションの瓶ごとに違った配置位置を設定します。

3. 独自の変数を作成する

これまでのところ、各ポーションは PotionSpawner から 2 ユニットの距離に作成されることがわかりました。

この書き方は便利ですが、各ポーションを 5 ユニットの距離に作成したい時は、3 か所でそれぞれ数値を変更する必要があります。このやり方はあまり実用的ではなく、エラーが入る恐れもあります。

より良い書き方をするために、数値を変数に置き換えましょう。


1. 距離を格納するために、radius という独自の変数を宣言する命令を記述します。angle 変数を宣言している行(10 行目)にこの命令を追加します。この追加により、この後のすべての命令が 1 行下に移動します。

以下のヒントも参考にして、独自の変数を追加してみてください。

  • 変数は radius という名前にする
  • ポーションは、PotionSpawner ゲームオブジェクトから 5 ユニットの距離に配置する必要がある
  • 各命令はセミコロン(;)で終了する必要がある
  • 整数値を格納できるように、変数は int 型とする必要がある

2. スクリプト内の数値 2 を、新しく追加した変数の名前に置き換えます。

4. スクリプトの変更を確認する

次のソリューションの変数宣言を確認してください。

int radius = 5;

spawnPosition に割り当てる各命令は、以下のようになるはずです。

spawnPosition = transform.position + direction * radius;

5. 変更を保存してテストする

これで、ゲームを起動させた時に変更内容を確認できます。

1. コードエディターで Ctrl + S(Windows)または Cmd + S(macOS)を押して、変更をスクリプトに保存します。

2. Unity エディターで、再生ボタンをクリックして再生モードに入ります。

3. ゲーム開始時にポーションが配置されている間隔を確認します。各ポーションが PotionSpawner からさらに離れた位置に作成されていることがわかります。



4. 変更の確認が終了したら、もう一度再生ボタンをクリックして再生モードを終了します。再生モードで行った変更は保存されないことに注意してください。

ポーションが配置される間隔を変更したい場合は、radius 変数に格納されている値を変更するだけです。

6. チュートリアルのまとめ

このチュートリアルでは、以下のことを行いました。

  • スクリプト内の特定の命令を探す
  • 持っている知識を応用し、追加のリソースを使って命令の意味を理解する
  • 新しい変数を宣言して割り当てる
  • スクリプト内の数値を変数に置き換える

次のチュートリアルでは、関数を使用して、物事をより効率的にし、スクリプトでのコードの繰り返しを回避する方法を学習します。

このプロジェクトが難しいと感じた場合は、コードを扱うことは継続的な取り組みであることを忘れないでください。ゲーム開発に取り組んでいる人々は、多くの場合、このチュートリアルで適用したものと同じ演繹と調査のスキルを使用して経験豊富なプログラマーのコードを分解し、最高のプレイヤー体験について学び、自分でもそれを作成できるようになっていきます。

Complete this Tutorial