【はじプロ】位置センサーノードンを攻略:つまづきやすいポイントを解説してみた

【はじプロ】つまづきやすいポイントを解説してみた(位置センサーノードンを攻略) はじプロ解説

お疲れ様です。YUmarunosuke(ゆうまるのすけ@YUmaru16061307)です。

今回は、「ナビつき!つくってわかる はじめてゲームプログラミング」 (はじプロ)の位置センサーノードンの解説をします。

レッスン4で位置センサーノードンが登場します。

レッスン4では、床の高さとキャラクターの高さを比べて、
ステージから落ちたことを判別するプログラムを作りましたね。

何か色々と使えそうだけど、どう使えばいいのかわからないなあ・・・

と思われるお子さん・親御さんも多いのではないでしょうか?

是非、この記事をご覧いただき、
位置センサーノードンの活用法を具体的に想像してみてください。

しっかり一緒に学んでいきましょう。

この記事はこんな人に読んでもらいたい
  • ナビつきレッスンを漠然と進めてしまったあなた
  • 位置センサーノードンをどのように使えるかイメージできていないあなた
この記事を読めばこんなことがわかる
  • 位置センサーノードンがれんけつされたモノの位置を出力する役割
  • 位置を特定するには、2つの要素が必要
    • 座標軸
    • 基準点

位置センサーノードンの役割とは?位置を数値化する役割です

位置センサーノードンがれんけつされたモノの位置を出力する役割を持っています。

モノの位置ってどうやって決まるのかな?

位置を特定するには、2つの要素が必要です。

モノの位置を特定するために必要な2つの要素
  • 座標軸(X軸・Y軸・Z軸のこと)
  • 基準点

位置を特定する要素1:座標軸

座標軸については過去の記事で説明しているので是非ご一読ください。

位置を特定する要素2:基準点

位置とは ある基準点からの差を数値化したもの です。

位置センサの基準点設定には、

  • ワールド
  • 初期位置
  • カメラ

の3つがあります。

位置センサの基準点設定 その1:ワールド

ゲーム画面やカメラがどの位置にあろうとも、
ワールドの中心からの距離が表示されます。

位置センサの基準点設定 その2: 初期位置

ゲームが始まったときに、
位置センサーノードンがれんけつされたモノがあった位置からの距離が表示
されます。

位置センサの基準点設定 その3: カメラ

ゲーム画面がどの位置にあろうとも
Switchの画面に映っている中心からの距離が表示されます。

ここまでのポイント
  • 位置とは『ある基準点からの差を数値化したもの』
  • 基準点の決め方は3つ
    1. ワールド
    2. 初期位置
    3. カメラ

解説:位置センサーノードンの使用例

例えば鬼ごっこのゲームを作ることができます。

レッスン1で作ったような高低差のある鬼ごっこではありません。

プレイヤーをどこまでも追いかけてくる鬼を位置センサーノードンを使って作ることができます。

シンキングタイム

さて、ここでシンキングタイムです。

一緒に考えてみよう!問い1

何も障害物がないとある広場に、オニであるUFOと、逃げるヒトがいます。

UFOがヒトに追いかけるようプログラムするには、どのような情報が必要でしょうか?

↓5

↓4

↓3

↓2

↓1

さて、回答例です。いくつか挙げられますね。

問い1の回答例
  • UFOとヒトとの距離
  • ヒトが移動する速さ
  • ヒトが移動する向き

などなど・・・

今回は『UFOとヒトとの距離』を選んでみましょう。

一緒に考えてみよう!問い2

プレイヤーをどこまでも追いかけてくる鬼をプログラムするには『UFOとヒトとの距離』が必要だとあなたは考えました、

では、UFOとヒトとの距離を求めるには、どのような情報が必要でしょうか?

↓5

↓4

↓3

↓2

↓1

では回答例です。UFOとヒトとの距離を求めるには、次の2つの要素が必要です。

問い2の回答例
  1. UFOの位置
    • X座標
    • Z座標
  2. ヒトの位置
    • X座標
    • Z座標

どこかで聞いたようなキーワードが出てきましたね。

そうです、この情報が位置センサーノードンを使うことで得られる情報です。

さて、まだまだ考えなければならないことが続きます。

一緒に考えてみよう!問い3

位置センサーノードンを使って、UFOの位置・ヒトの位置を得ることができました。

この位置情報を使って、どんな処理をすればよいのでしょうか?

↓5

↓4

↓3

↓2

↓1

ちゃんと自分自身で考えてみましたか?

では回答例です。

問い3の回答例

UFOの座標からヒトの座標を引く
→ けいさんノードンを使って、UFOから見たヒトまでの距離を求める。

ヒトの位置とUFOの位置との差=距離 ですね。

さてさて、最後の問いです。頑張りましょう!

一緒に考えてみよう!問い4

UFOとヒトの位置がわかり、位置情報からUFOとヒトの距離を求めることができました。
UFOがヒトに「追いつく」ためにはどんな処理をすればよいのでしょうか?

↓5

↓4

↓3

↓2

↓1

では最後の回答例です。

問い4の回答例

UFOの座標からヒトの座標を引く
→ けいさんノードンを使って、UFOから見たヒトまでの距離を求める。

UFOを「移動させる」必要がありますね。

ではどれだけ移動させればよいでしょうか?

先程求めた距離をUFOの「左右」や「前後」に入力すればよいですね。

さて、先ほど考えてみたプログラムは次の図のとおりです。

X軸方向の距離を位置センサーノードンとけいさんノードンを使って求める
Z方向の距離を位置センサーノードンとけいさんノードンを使って求める

では、実際に動かしてみた動画をご覧ください。

ちゃんとUFOがヒトを追いかけていってますね。

あとは、制限時間やステージを作っていけば、鬼ごっこのゲームが完成します。

このように、作り上げたい『あるべき姿』を一から順々に考えていくことがプログラミングであり、
プログラミングを組み立てていくために使うのがプログラミング思考です。

リンク:【親・指導者向け】プログラミングとはコードを書くことではない

リンク先の簡単なまとめ
  • プログラミング = コンピュータに指示すること・コードを書くこと では難しい
  • プログラミング = 『あるべき姿』に向けて『動作』と『判断』を並べること

リンク:【親子向け】プログラミング教育ってそもそも必要?いつから始める?

リンク先の簡単なまとめ
  • プログラミング = コンピュータに指示すること・コードを書くこと では難しい
  • プログラミング = 『あるべき姿』に向けて『動作』と『判断』を並べること

まとめ

今回は、「ナビつき!つくってわかる はじめてゲームプログラミング」 (はじプロ)の位置センサーノードンの解説をしました。

この記事を読めばこんなことがわかる
  • 位置センサーノードンがれんけつされたモノの位置を出力する役割
  • 位置を特定するには、2つの要素が必要
    • 座標軸
    • 基準点

位置、座標軸の関係性は、何度も触れなければなかなかイメージがしにくい概念です。

是非この記事と、
【プログラミング初心者向け】「ナビつき!つくってわかる はじめてゲームプログラミング」つまづきやすいポイントを解説してみた(座標・回転・れんけつ面)
を何度も読んでください。

位置情報を活用する仕掛けは、とても高度で楽しいものになる可能性を秘めています。

お子さんと一緒に、楽しいゲームを考えて作ってみてくださいね。

では、次の記事までごきげんよう。

コメント

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