Unity 動作 4 もし(if)で 折り返す すすみ

1🔄 きょうの ゴール

まえは Squareが ずっと おなじ 向きに 動いてたね。きょうは 右の はしまで 行ったら、向きを かえて もどってくるようにするよ!

🌉 Scratchの「もし ◯◯なら」ブロック= C#の if ( ) { }。条件が 正しい ときだけ { } の中が 実行されるよ。
🧱 Scratch
もし <> なら
end
=↓ おなじ いみ
💻 C#
if ( )
{
}

おなじ いみの ことを、C#は 文字で 書くんだね

👆 タップ/クリックで ▶ スタート・ストップ | はしに 当たると 光るよ

🪙 この 動きも、さいごの「コインあつめワールド」の 部品に なるよ。

2🆕 シーンと Squareを よういしよう

おなじ プロジェクトに あたらしい シーンを ついかして、なまえを これに してね:

5-if

📁 レッスンごとに シーンが 1つずつ ふえていくよ。番号順に ならぶから、あとで 見なおしやすいね。

🧩 じゅんびの 3ステップ

1
Folder
Scene
5-if
Projectで 右クリック → Create → Scene → なまえを つけて ダブルクリックで 開く
→
2
Circle
Square
Triangle
◻
Hierarchyで 右クリック → 2D Object → Sprites → Square
→
3
📄 Mover
➡️
🗂 Hierarchy
◻ Square
からの C#スクリプト(Mover)を 作って Squareへ ドラッグ
↑ チェックを いれると すすめるよ

3🔁 まえの ふりかえり

🧠 まえの じかんは 変数(数字に なまえを つけた はこ)と public(Inspectorに 出す)を ならったね。おぼえて いるかな?
変数は どこに 書く?
✅ クラスの 中・関数の 外(オレンジ帯の 場所)。Start()や Update()の 外に 書いたね。
変数の まえに publicを つけると、どう なる?
✅ Inspectorに 出て、コードを 直さず 数字を 変えられたね。
↑ 2もん こたえると すすめるよ

4🔄 もしで はしまで きたら 折り返す

🎯 if=「もし ◯◯なら、△△する」。( )に じょうけん、{ }に やることを 書くよ。

-5
0
5
📦

Squareの x座標が 5より 右に 行ったら x > 5が 正しく なるよ

🧩 つかう あたらしい 部品:if (transform.position.x > 5) { } (transform.position.x=Squareの 今の x座標。>=「より 大きい」)

🔮 よそうしてみよう:Update()に 下の コードを 足すと、Squareは どう なる?

void Update()
{
    transform.Translate(speed, 0, 0);
    if (transform.position.x > 5)
    {
        speed = -speed;
    }
}
✅ せいかいは B はしで 向きを かえて もどってくる。x > 5に なった しゅんかん、speedの プラス⇄マイナスが 入れかわるよ。

🧩 つかう 部品(ヒント・くみあわせて 書いてね):

if (transform.position.x > 5)
{
    speed = -speed;
}
✋ やってみよう:Update()の中、Translateの あとに if文を 自分で 書いて ▶。Squareが 右の はしで 折り返したら せいこう!

こたえ:かんせいコードは これ。

using UnityEngine;

public class Mover : MonoBehaviour
{
    public float speed = 0.05f;

    void Update()
    {
        transform.Translate(speed, 0, 0);
        if (transform.position.x > 5)
        {
            speed = -speed;
        }
        if (transform.position.x < -5)
        {
            speed = -speed;
        }
    }
}

右の はしで も 左の はしでも ifが はたらいて、speedの 向きが 入れかわる=ずっと 往復するよ。

🤔 かんがえてみよう:speed = -speed;って どういう いみだろう?
ヒント:プラスと マイナスが 入れかわる= 向きが 逆に なる、って ことだよ。
⚠ わざと ためそう:こたえには 左はし用の if(x < -5)も 入ってるよ。この 2つめの ifを わざと けして ▶すると どうなる?→ 左で 折り返せず 画面の そとへ…!ifが 2つ そろって ずっと 往復に なるんだね。これは コインあつめワールドの「動く 床」や「てき」の 部品にも なるんだ。
↑ チェックを いれると すすめるよ

5📝 コーディング 小テスト

きょうと まえの ことを あわせて といてみよう。ぜんもん せいかいで「かんせい」に すすめるよ。

ifの ( )に 書くのは?
✅ じょうけん。じょうけんが 正しい ときだけ { }の 中が 実行されるよ。
transform.position.x > 5 の いみは?
✅ xが 5より 大きい。>は「より 大きい」の きごうだよ。
バラバラの コードを 正しい じゅんに ならべて、「はしで 向きを かえる」if文を 完成させよう。
if (transform.position.x > 5)
{
speed = -speed;
}
✅ if ( )の あとの { }の 中で speedの 向きを 入れかえるよ。
↑ 小テストに ぜんもん せいかいすると すすめるよ

6🎉 かんせい!

ifで Squareを はしで 折り返せたね。もし ◯◯なら=じょうけんで 分かれ道、この かんがえかたは この あとも ずっと 使うよ!Unity 動作4 クリア ✓

👩‍🏫 先生と いっしょに かくにんしよう!

  • if ( ) { }の 形を せつめいできた?
  • transform.position.x > 5で はしを かんちできた?
  • speed = -speed;で 向きが 入れかわることを 目で たしかめた?
  • 左右りょうほうの ifで ずっと 往復させられた?

🚪 もっと やりたい人へ:はしの 数字を 5から 3に かえると、もっと せまい はんいで 往復するよ。ためしてみよう!

↑ さいごまで すすむと おせるよ