1🕹 きょうの ゴール
これまで Squareは かってに 動いたね。きょうは ←→キーで きみが Squareを うごかすよ!「コインあつめワールド」の プレイヤーが たんじょうする だいじな 回だよ。
Input.GetKey(KeyCode.RightArrow)。「いま そのキーが おされてる?」を きく めいれいだよ。
<[右向き矢印 v] キーが押された>
Input.GetKey(KeyCode.RightArrow)
おなじ いみの ことを、C#は 文字で 書くんだね
2🆕 シーンと せっていを よういしよう
おなじ プロジェクトに あたらしい シーンを ついかして、なまえを これに してね:
6-key
Squareを 1つ 置いて、public float speed = 0.05f; を もった Moverスクリプトを アタッチしよう(まえの じかんと おなじ てじゅん)。
⚠️ Unity6000の おとしあな:キー入力の せってい
Unity6000の あたらしい プロジェクトは、そのままだと Input.GetKeyが うごかないことが あるよ。さきに 1回だけ せっていを かえておこう。
InvalidOperationException: You are trying to read Input using the UnityEngine.Input class...→ 上の せってい(Active Input Handling → Both)に すれば なおるよ。
3🔁 まえの ふりかえり
if(もし~なら)で Squareを 折り返させたね。おぼえて いるかな?if ( ) の ( ) の 中に 書くのは 何?speed = -speed; は どういう いみ?4🕹 キーで Squareを うごかす
これまで Squareは かってに 動いた。きょうからは きみが 動かす!
Input.GetKey(KeyCode.RightArrow)=「→キーが いま 押されてる?」の しつもん。ifと くみあわせて つかうよ(前回の if が ここでも いきるね)。
<[右向き矢印 v] キーが押された>
Input.GetKey(KeyCode.RightArrow)
おなじ いみの ことを、C#は 文字で 書くんだね
🧩 つかう あたらしい 部品:Input.GetKey(KeyCode.RightArrow)
🔮 よそうしてみよう:下の コードを ▶で じっこうすると、キーを おしてない とき Squareは どう なる?
void Update()
{
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Translate(speed, 0, 0);
}
}
ifの 中は じょうけんが 成立した ときだけ 実行される。押してない ときは じょうけんが 成立しないから、Translateは よばれないんだ。🧩 つかう 部品(ヒント):
if (Input.GetKey(KeyCode.RightArrow))
transform.Translate(speed, 0, 0);
Update()に 右キーの ifを 書いて ▶。→キーを おした ときだけ Squareが 動けば せいこう!ifも 足して ▶。←→ じゆうに うごかせたら せいこう!こたえ:かんせいコードは これ。
using UnityEngine;
public class Mover : MonoBehaviour
{
public float speed = 0.05f;
void Update()
{
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Translate(speed, 0, 0);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.Translate(-speed, 0, 0);
}
}
}
2つの ifが それぞれ 独立して キーを 見はっているから、←→ どちらも うごかせるんだ。これが「プレイヤーの うごき」の きほん!
ヒント:かえる ところは 2つ。
KeyCode.RightArrow→KeyCode.LeftArrow、そして speed→-speed。5📝 コーディング 小テスト
きょうと まえの ことを あわせて といてみよう。ぜんもん せいかいで「かんせい」に すすめるよ。
Input.GetKey は 何を しらべる?ifの 中は どう なる?if ( )の { } の 中に Translate。じょうけんが 成立した ときだけ 動くよ。6🎉 かんせい!
←→キーで Squareを あやつれたね。プレイヤーが たんじょうしたよ!Unity 動作5 クリア ✓
👩🏫 先生と いっしょに かくにんしよう!
- Active Input Handlingを
Bothに かえて、Input.GetKeyを 動かせた? Input.GetKey(KeyCode.RightArrow)が「キーが 押されてるか」を しらべる、を せつめいできた?- 右キー・左キー りょうほうの
ifを 書いて、Squareを じゆうに うごかせた? - 「if の 中は じょうけんが 成立した ときだけ」を じぶんの ことばで 言えた?
🚪 もっと やりたい人へ:KeyCode.UpArrowと KeyCode.DownArrowも 足して、上下にも うごかしてみよう!