Switchソフト「はじめてゲームプログラミング」のナビつきレッスン4についての解説記事です。
はじめてゲームプログラミングもレッスンが進むごとに数学の知識が必要になってきたりと難しくなってきました。
Contents
ナビつきレッスン4:GO!GO!アスレチック
Switchソフト「はじめてゲームプログラミング」のナビつきレッスン4は「GO!GO!アスレチック」。
初代マリオのような横スクロールのアクションゲームをプログラミングします。ナビつきレッスン3までは、ナビに従っていればゲームを作れましたが、レッスン4ともなるとナビつきレッスンでも少し難しくなってきました。
今回は、ナビつきレッスン4の難しくなってくるステップ4からの解説です。ステップ3まではほとんどが今までの復習になるので記事にしなくても問題ないでしょう。
ナビつきレッスン4、ステップ4:シーソーのしかけを作ろう!
ステップ4では、アクションゲームにありがちなシーソーを作ります。
シーソーを作るために必要なノードンは3つ。そのうちの2つであるモノノードン球とモノノードン長方形を設置してれんけつしてみます。
ー
長方形のれんけつ面は、中央と中央に設定。
ふるまいの動くをONにしておきます。
2つのノードンをれんけつしましたが、、、
ヒトが乗っても何も動きません。
プログラミングで何も設定していないので当然と言っては当然。
どうするか。
ヒンジれんけつノードン
ステップ4ステップ4の主役、ヒンジれんけつノードンです。
ヒンジ??と思って調べました。
1ちょうつがい。また、ちょうつがい状のもの。
2 部材と部材との継ぎ目、または支点。構造物で、ピンなどを用いて、上下左右には動かないが回転は自由にできるようにした接合の状態。
だそうです。シーソーの中心部分と考えて良さそうです。
以前、回転するモノノードンを使用して長方形を回転させました(レッスン3)が、今回は回転だけではなくて一定の角度で止まったりさせたいからヒンジれんけつノードンを使用します。
使い方は、れんけつさせたいノードンの間に置いて、それぞれのノードンとれんけつするだけ。
しかし、ゲーム画面に戻ると、
シーソーではなく、クルクルまわる長方形になってしまっています。シーソーになってはいなかった。ヒトが落ちてしまいました。
修正するには、ヒンジれんけつノードンの設定を変更します。
「はんい」を設定すると、設定した範囲でしか動かないようにできます。
今回は、左側がー45、右側が45です。
ゲーム画面はどうなるか。
右側へヒトが行くと、ヒトが落ちない程度まで長方形が傾く。
ヒトが左側に行くと、こちら側もヒトが落ちない程度に傾きました。
まさにシーソーです。やりました!!
ヒンジれんけつノードンについては別記事で詳しく解説する予定です。わからない場合はノードンガイドで学んだり、フリープログラミングでいろいろ試して学んでみましょう。
角度がわからない小学生は、親御さんに角度とはを聞いてみましょう。
あとは、球の姿を消せばOKです。(ここでは略)
ナビつきレッスン4のポイント5:押したら動くハコを作ろう!
ナビつきレッスン4のポイント5は、押したら動くハコを作ろう!
青いハコを設置してみました。
押してみると、
当然落ちる。でも動いたよ!
プログラム画面とモノノードンの設定↓
モノノードンのふるまいの「動く」をONにすると動かせるんですね。(※自動では動かない)
さて今回は、押してもステージから落ちないハコのプログラミング方法を学びます。
スライドれんけつノードン
スライドれんけつノードンの出番です!
このスライドれんけつノードンは、れんけつしたモノが一方にだけ動くようにするノードンです。
一方方向とは、横方向(X軸)だけ、とか縦方向(Y軸)だけ、などですね。
今回は、Xスライドノードンなので横方向だけ動かせます。
それぞれのノードンをれんけつして。
ゲーム画面で確かめてみましょう。
青いハコを押したら、落ちずに右へスライドしていき、画面外に消えて行きました。さよなら青いハコ。
途中で止めるには、
スライドれんけつノードンのはんいを設定します。
今回は、0〜3。
左が0の場合、左へ押しても動かない。右へはプラス3動ける。
ゲーム画面はこんな感じ。プラス3はこの位置で止まる。ギリ白い長方形に乗ってますね。
あとは地形を整えて、終わり。
これはステップ5の最後のプログラム画面。右側の足場が増えています。
ナビつきレッスン4のステップ6:動く足場を作ろう!
ナビつきレッスン4のステップ6は、動く足場を作ろう!
初代マリオなどで見かけた上下に動くリフトをプログラミングします。
ワープしてゲーム画面を確認しやすくする方法
ゲーム画面が横長になってくると、ヒトが最初の位置にいるとゲームの挙動を確認するたびに1からゲームをしなくてはいけないので大変です。
そんな時使えるのが、ワープ!
ナビつきレッスン2で学んだワープを使用すれば、確かめたい位置にヒトをワープすることができます。
「ヒトをプログラム画面で動かせば良いんじゃないか?」
と思うかもしれませんが、ヒトにはスティックノードンなどがつながっているため、安易に動かすとプログラム画面がごっちゃごっちゃしてわけわからなくなってしまいます。
そのためにワープをつかうのですね。
モノワープ入口ノードンをヒトノードンに重ねて置けば、ゲームが始まった瞬間ヒトがワープ出口にワープします。
モノワープ出口ノードンを、確認したいところに設置します。
今回のレッスンではワープをいくつか使用するので、ワープIDをHに変更しておきます。
ゲームが始まると、
瞬間的にワープ出口にワープします。なんて便利!
これで確認したいところだけをゲームすることができます。
動く足場はスライドれんけつノードンを使う
動く足場は、先ほど出てきたスライドれんけつノードンを使用します。
でもスライドれんけつノードンだけでは自動で動いてくれません。どうしましょう。
今回は、上下に動かしたいので、Yスライドのスライドれんけつノードンを選びます。
なぜYスライドなのかわからない方は、座標のついての記事へ行ってみましょう↓
ゲーム画面では、
一瞬で緑の足場が落ちて行きました。さよなら。
落ちてしまうならー固定してしまえ、と言うことで呼び出すのは、定数ノードン。
スライドれんけつノードンに定数ノードンをつなげて、定数1にしたらどうなるか。
理想は足場が上下して欲しいのですが、
ゲーム画面では、画面の一度足場が止まっています。
Yが1の位置で止まっていると言うことですね。うむ。固定の数字ではなくてつねに数字を出力し続ける設定が必要です。
その願いをかなえてくれるのは、カウンターノードン!
カウンターノードンを定数ノードンとスライドれんけつノードンの間に設定してつなげます。カウンターノードンの”増やす“に定数ノードン(1)をつなげたら、右側のカウンターノードンの出力とスライドれんけつノードンをつなげます。(下の画面では出力つながってない)
カウンターの設定をします。
モードを「おうふく」に変更して、カウントはんいを左側をー3、右側を3に設定して“ー3から3をおうふくする”設定にします。
つながっているのはYスライドのスライドれんけつノードンなので、れんけつしている緑の足場はY軸上のー3から3の範囲を往復するように動く設定となります。
確かめてみましょう。
静止画ではわかりませんが、すごい勢いで緑の足場が上下してます。乗れても振り落とされそう。
上下の位置は良かった!しかし、問題は速度。
カウンターノードンの増やすにつながっている定数ノードンの数を減らせば速度が遅くなります。(数を増やせば早くなる)
1でかなり早かったので、今回は0、3に設定。
いい感じの速度で緑の足場が上下するようになりました!!
ぜひゲームで遊んでみて実際の速度を確かめてみてください。
緑の足場とれんけつしている球を見えなくして終了です。
マリオっぽい!と思うマリオ世代の私。何度も落ちたなあ。
続きは次回
記事が長くなってきたので、ナビつきレッスン4の記事は2つにわけます。
シーソーが作れたり、動く足場が作れたり本格なゲームプログラミングになってきました。楽しい。
定数ノードンーカウンターノードンーヒンジれんけつノードンで自動回転する足場が作れるだろうか。今度フリープログラミングでやってみよう。
スライドれんけつノードンを使えば、エイリアンを動かすことも可能ですね。可能性が広がります。