ゲームを作っていると、次のような因果関係を作りたくなります。
- もし、プレイヤーが10ポイント獲得したら、勝利する。
- もし、プレイヤーがスピードアップアイテムを使用したら、速く走れる。
- もし、プレイヤーがチャットで「Happy Birthday」と入力したら 、スパークルが現れる。
これらは「もし、OOOOならば、XXXXしなさい」という命令文に相当します。そのときに使用するものが、「if / then文」です。
条件文の練習
このコードの例では、文が true の場合にパーツの透明度を変化させます。練習では「3+3=6」のように明らかに true の文を使用します。文が true なので、次の行のコードが実行されます。
パーツとスクリプトを設定する
- ServerScriptService で、IfThenScript という名前の新しいスクリプトを作成します。
- IfThenPart という名前の新しいパーツを作成します。
- スクリプトで Hello World を削除し、上部にコメントを入力します。
条件をコーディングする
ここでの条件は、「3+3」が「6」に等しい場合であり、この条件が満たされると何かが起こります。この条件を作成するには次の手順を踏みます。
- 小文字で「if 3+3」と入力します。
- 「3+3」の後に「==」と入力します。
==と=との違い
・== は値を比較します。if文で使用されます。
・= は変数の値を設定します。
- 「==」の後に「6」と入力します。これは、確認の際に照合されるものです。他の数字を使用する場合、10 – 4 == 6のように条件がtrueであることを確認します。
文をコーディングする
条件を作成した後、条件がtrueの場合に実行される文をスクリプトに含める必要があります。ここでは、条件がtrueであれば、パーツの透明度が変化します。
- 「if 3+3 == 6」の後に「then」と入力します。
- [Enter] を押して、if文をendでオートコンプリートさせます。
- thenとendの間に「game.Workspace.BrickName.Transparency = .5」と入力します。
- コードをテストします。パーツの透明度が変更されていることを確認します。
コードのトラブルシューティング
・if、then、end が小文字であることを確認します。
・ひとつの = ではなく、ふたつの == を使用します。
・パーツの透明度を変化させるコードが if ~ end 内にあることを確認します。これができていなくても動作しますが、if/then文の一部ではなくなります。
false条件を確認する
ここで、数式がfalseの場合に何が起こるかを確認するために、意図的に文を変更します。
- 「if 3+3 == 6 then」 を 「if 3+3 == 10 then」に変更します。
- コードをテストします。
明らかに文が true ではないため、パーツの透明度は変更されなくなります。
その他の比較を行う
2つの数値が等しいか確認する代わりに、乗算、加算、減算、その他の比較を行うこともできます。作成するゲームによって、最適なものは異なります。
オプションチャレンジ:様々な演算子を使用する
・myNumberが10より小さい:
if myNumber < 10
・myNumberが200以上:
if myNumber >= 200
演算子 | 意味 |
---|---|
+ | 足し算 |
– | 引き算 |
* | 掛け算 |
/ | 割り算 |
記号 | 意味 |
---|---|
== | 等しい |
~= | 等しくない |
<= | 小さいか同じ |
>= | 大きいか同じ |
< | 小さい |
> | 大きい |