Unity 動作 2 Update()で ずっと 動く(くりかえし) すすみ

1🔁 きょうの ゴール

まえは Start()で Squareを 1回 動かしたね。きょうは Update()を つかって、Squareを ずっと 動かしつづけるよ!

🌉 Scratchの「ずっと」ブロック= Unityの void Update()。Update()の 中の コードは まいフレーム(1びょうに 何十回も!)くりかえし 実行されるよ。だから 少しずつ 動かすと「なめらかに 動きつづける」んだ。
🧱 Scratch
ずっと
end
=↓ おなじ いみ
💻 C#
void Update()
{
    // ここに 書いた ことが くりかえされる
}

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

👆 タップ/クリックで ▶ スタート・ストップ | スピードも かえられるよ

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

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

3-loop

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

🧩 じゅんびの 3ステップ

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

3🔁 まえの ふりかえり

🧠 まえの じかんは Start()(緑の旗=1回だけ)と transform.position(ばしょ)を ならったね。おぼえて いるかな?
void Start() は、▶を おしたとき 何回 よばれる?
✅ 1回だけ。Scratchの 緑の旗と おなじ。きょうの Update()との ちがいが たいせつだよ。
transform.position = new Vector3(2, 0, 0); は、Squareの 何を きめる?
✅ ばしょ。x,y,zの 3つの すうじで あらわしたね。
↑ 2もん こたえると すすめるよ

4🔁 Squareを ずっと 動かす(くりかえし)

🎯 Update()の 中に transform.Translate を 書くと、Squareが まいフレーム 少しずつ 動く=ずっと 動きつづけるよ。

🌉 transform.Translate(x, y, z)=「いまの ばしょから その ぶんだけ ずらす」。Scratchの「◯ぽ うごかす」に にているね。これを Update()の 中に 書くと、まいフレーム ずれて「動きつづける」んだ。
🧱 Scratch
(10) ほうごかす
=↓ おなじ いみ
💻 C#
transform.Translate(0.05f, 0, 0);

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

🧩 つかう あたらしい 部品:transform.Translate(0.05f, 0, 0); (0.05f=1フレームに ずらす すうじ。小さいほど ゆっくり)

🔮 よそうしてみよう:下の コードを ▶で じっこうすると、Squareは どう なる?

void Update()
{
    transform.Translate(0.05f, 0, 0);
}
✅ せいかいは B ずっと 右へ。Update()は まいフレーム よばれるので、少しずつ ずれるのが つづいて「動きつづける」んだ。

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

transform.Translate(
0.05f, 0, 0);
✋ やってみよう:Update()の 中に transform.Translate(0.05f, 0, 0); と 書いて ▶。Squareが ずーっと 右へ 動いたら せいこう!
すうじ 0.05fを 0.2fに かえると どう なる?1つ かえて ▶で たしかめよう。

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

using UnityEngine;

public class Mover : MonoBehaviour
{
    void Update()
    {
        transform.Translate(0.05f, 0, 0);
    }
}

Update()が まいフレーム よばれ、Squareが 少しずつ 右へ ずれつづける=ずっと 動く。すうじを 大きくすると はやく なるよ。

🤔 かんがえてみよう:なぜ この コードを Start()じゃなくて Update()に 書くと「ずっと」動くのかな?
ヒント:Start()は「1回だけ」、Update()は「まいフレーム くりかえし」。くりかえし よばれるから、少しずつの 動きが つみかさなるんだね。
⚠ わざと ためそう:おなじ transform.Translate(0.05f,0,0); を Start()の 中に 書いたら どう なる?→ たった 1回しか よばれないから、ほんの 少し 動いて すぐ 止まる。「ずっと 動かしたい なら Update()」だと 目で かくにんしよう。
↑ チェックを いれると すすめるよ

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

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

void Update() は、何回 よばれる?
✅ まいフレーム ずっと。だから「ずっと 動かす」ときは Update()に 書くよ。
Squareを「ずっと 右へ 動かしつづけたい」。正しいのは どっち?
✅ Update()。Start()だと 1回で 止まっちゃう。くりかえし よばれる Update()が せいかい。
バラバラの コードを 正しい じゅんに ならべて、「ずっと 右へ 動く」Moverを 完成させよう。
void Update()
{
transform.Translate(0.05f, 0, 0);
}
✅ Update()の { } の 中に Translate。まいフレーム 少しずつ ずれて 動きつづけるよ。
↑ 小テストに ぜんもん せいかいすると すすめるよ

6🎉 かんせい!

Update()で Squareを ずっと 動かせたね。1回だけ=Start()/ずっと=Update()、この ちがいが だいじ!Unity 動作2 クリア ✓

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

  • Update()は「まいフレーム くりかえし」よばれる、を せつめいできた?
  • transform.Translate(...) で Squareを ずっと 動かせた?
  • おなじ Translateを Start()に 書くと「1回で 止まる」ことを 目で たしかめた?
  • 「ずっと=Update()」「1回だけ=Start()」を じぶんの ことばで 言えた?

🚪 もっと やりたい人へ:Translateの すうじを yに すると 上へ、マイナスに すると ぎゃく向きに 動くよ。ためしてみよう!

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