1🔄 きょうの ゴール
まえは Squareが ずっと おなじ 向きに 動いてたね。きょうは 右の はしまで 行ったら、向きを かえて もどってくるようにするよ!
if ( ) { }。条件が 正しい ときだけ { } の中が 実行されるよ。
もし <> なら end
if ( )
{
}
おなじ いみの ことを、C#は 文字で 書くんだね
🪙 この 動きも、さいごの「コインあつめワールド」の 部品に なるよ。
2🆕 シーンと Squareを よういしよう
おなじ プロジェクトに あたらしい シーンを ついかして、なまえを これに してね:
5-if
📁 レッスンごとに シーンが 1つずつ ふえていくよ。番号順に ならぶから、あとで 見なおしやすいね。
🧩 じゅんびの 3ステップ
3🔁 まえの ふりかえり
public(Inspectorに 出す)を ならったね。おぼえて いるかな?Start()や Update()の 外に 書いたね。publicを つけると、どう なる?4🔄 もしで はしまで きたら 折り返す
🎯 if=「もし ◯◯なら、△△する」。( )に じょうけん、{ }に やることを 書くよ。
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;
}
}
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;って どういう いみだろう?ヒント:プラスと マイナスが 入れかわる= 向きが 逆に なる、って ことだよ。
x < -5)も 入ってるよ。この 2つめの ifを わざと けして ▶すると どうなる?→ 左で 折り返せず 画面の そとへ…!ifが 2つ そろって ずっと 往復に なるんだね。これは コインあつめワールドの「動く 床」や「てき」の 部品にも なるんだ。5📝 コーディング 小テスト
きょうと まえの ことを あわせて といてみよう。ぜんもん せいかいで「かんせい」に すすめるよ。
ifの ( )に 書くのは?{ }の 中が 実行されるよ。transform.position.x > 5 の いみは?>は「より 大きい」の きごうだよ。if ( )の あとの { }の 中で speedの 向きを 入れかえるよ。6🎉 かんせい!
ifで Squareを はしで 折り返せたね。もし ◯◯なら=じょうけんで 分かれ道、この かんがえかたは この あとも ずっと 使うよ!Unity 動作4 クリア ✓
👩🏫 先生と いっしょに かくにんしよう!
if ( ) { }の 形を せつめいできた?transform.position.x > 5で はしを かんちできた?speed = -speed;で 向きが 入れかわることを 目で たしかめた?- 左右りょうほうの
ifで ずっと 往復させられた?
🚪 もっと やりたい人へ:はしの 数字を 5から 3に かえると、もっと せまい はんいで 往復するよ。ためしてみよう!