if文(条件分岐)を使って動きを変えてみよう

if文(条件分岐)って何?

if文(条件分岐)とは、「もし〇〇だったら、△△する」という考え方をプログラムで表現する方法です。

Robloxでは、プレイヤーの動きやゲームのルールを変えるために、if文をとてもよく使います。


身近な例で考えてみよう

まずはプログラミング以外の例で考えてみましょう。

  • もし 雨が降っていたら → 傘を持っていく
  • もし 宿題が終わっていたら → ゲームをしていい
  • もし 体力が0になったら → ゲームオーバー

この「もし〇〇だったら」という部分が、if文の考え方です。


Robloxのif文の基本形

Roblox(Lua)でのif文の基本形は次のようになります。


if 条件 then
    実行したい処理
end

条件が正しい(true)ときだけ、中の処理が実行されます。


例1:パーツに触れたらメッセージを出す

まずはシンプルな例です。パーツに触れた「相手」がプレイヤーだった場合だけ、メッセージを出します。


script.Parent.Touched:Connect(function(hit)
    if hit.Parent:FindFirstChild("Humanoid") then
        print("プレイヤーが触れました!")
    end
end)

このif文の意味

  • hit.Parent:触れた相手
  • Humanoid:プレイヤーかどうかを判断する目印
  • Humanoidがあったら → プレイヤー

「もし触れた相手がプレイヤーだったら、メッセージを表示する」という処理です。


例2:条件によって動きを変える

次は、条件によって動きが変わる例です。

「プレイヤーが触れたら、そのパーツが上に動く」ようにしてみます。


script.Parent.Touched:Connect(function(hit)
    if hit.Parent:FindFirstChild("Humanoid") then
        script.Parent.Position = script.Parent.Position + Vector3.new(0, 5, 0)
    end
end)

プレイヤーが触れたときだけ、パーツが上に移動します。


if文がないとどうなる?

もしif文がなかったらどうなるでしょうか。

  • プレイヤー以外が触れても動く
  • 落ちてきたパーツや床に触れても反応する

if文を使うことで、「反応してほしい条件だけを選ぶ」ことができます。


よくある間違い

  • endを書き忘れる
  • 条件の書き方を間違える
  • if文の中に入れる処理がずれている(インデント)

エラーが出たら、if ~ then ~ end の形になっているかを確認しましょう。


まとめ

  • if文は「もし〇〇だったら△△する」という考え方
  • ゲームの動きを切り替えるために必須
  • プレイヤーかどうかの判定でよく使われる

if文が使えるようになると、ゲームらしい動きが一気に作れるようになります。

次は、else(それ以外の場合)や、複数の条件にも挑戦してみましょう。

タイトルとURLをコピーしました