レッスン5攻略【謎解きの部屋】

レッスン5攻略【謎解きの部屋】 レッスン

本記事はNintendo Switchソフト『ナビつき!つくってわかる はじめてゲームプログラミング』の「ナビつきレッスン」レッスン5の攻略情報をまとめたものです。

ナビつきレッスンも折り返しを迎え、プログラミングの内容も難しくなってきました。レッスン5では初めての3D空間と、謎解きの仕掛けを作っていきます。レッスン内容、攻略チャート、登場ノードン、各ステップの詳細を見て行きましょう!

スポンサーリンク

謎解きの部屋を作る

謎解きの部屋レッスン5「謎解きの部屋」
謎めいた部屋には…隠されたお宝!? 3D空間に知的なしかけをプログラミングしよう!
クリア時間の目安:約80分
レッスン5で初登場するノードン
カメラノードン カメラ フリースライドれんけつノードン フリースライド
追加されるノードンガイド
ステップ1 カメラノードンの仕事術
ステップ3 自由なアイツはフリースライドれんけつノードン
ステップ4 3回パンチしたら壊れるしくみ

ノードンガイドの一覧はこちら。

ステップ1:謎解きの舞台を覗き見るカメラ

ステップ1に登場するノードン
カメラノードン カメラ モノノードン モノ ヒトノードン ヒト スティックノードン スティック ボタンノードン ボタン

まずは舞台となる部屋づくり。謎を解くための部屋と、宝が置いてある隠し部屋をプログラミングします。画面右上のボタンから、視点を「上から視点」に変更し、直方体モノノードンを床として設置しましょう。

手順やること
1画面右上のボタンから「上から視点」に切り替える
2モノから、直方体モノノードンを呼び出し大きさを調整する
3モノノードンの設定「ふるまい」の見える・当たるにし、色を変更する
4モノノードンをコピーしてやや狭くし、すぐ横に置く
5コピーしたモノノードンの設定から、色を別の色に変更する

ゲーム画面で確認すると、色違いの床が並んでいるはずです。狭い方が宝がある部屋になります。では、床が出来たところで、主役を登場させましょう。

手順やること
1モノからヒトノードンを呼び出しす
2横から視点に変える
3ヒトノードンを床の上に置く
4ヒトノードンの設定を開き、「アクション」をパンチにする

ヒトが登場しましたね。アクションにパンチを設定したのは、パンチが謎を解く重要なカギになるからです。では、このキャラクターを、コントローラーで操作できるようにプログラミングしましょう。

手順やること
1上から視点に切り替える
2入力から「Lスティック」→「上下」のスティックノードンを呼び出す
3入力から「Lスティック」→「左右」のスティックノードンを呼び出す
4上下のスティックノードンをヒトノードンの前後ポートにつなぐ
5左右のスティックノードンをヒトノードンの左右ポートにつなぐ
6入力から「Y」のボタンノードンを呼び出す
7Yボタンのボタンノードンをヒトノードンのアクションポートにつなぐ

ヒトがスティック操作で動きまわり、Yボタンでパンチするようになりました。

次はカメラの設定です。斜め上から部屋全体を撮影する視点へと変更しましょう!

手順やること
1モノからカメラノードンを呼び出す
2横から視点に切り替える
3カメラノードンをヒトノードンの斜め上に置く
4上から視点に切り替える
5カメラノードンを右にやや回転させる
6カメラノードンの設定を開き、
└X軸回転を4.00°にする
└Y軸回転は17.00°にする

カメラノードンを置くと、カメラノードンの位置からゲーム画面が撮影されるようになります。どこからステージを撮りたいか考えて配置し、アングルを設定しましょう。

ステップ2:宝の隠された部屋

ステップ2に登場するノードン
ワールドノードン ワールド

前のステップでは床、ヒト、カメラをプログラミングしました。ステップ2では壁や屋根を作って、部屋らしくしていきます。

手順やること
1床に使ったモノノードンをコピーし、細くして部屋の奥に動かす
2横から視点に切り替える
3先ほどのモノノードンを壁になるよう高さを付ける
4モノノードンの設定を開き、色を変更する

はい、部屋の奥に壁の一部ができました。これを窓のある壁にしていきましょう。

手順やること
1壁のモノノードンをコピーして、上の方に置く
2またまたコピーして縦に伸ばして左側へ置く
3さらにコピーして右側へ置く
4さらにコピーして大きくし、隠し部屋の壁として設置し、色を変更する

これで謎解きの部屋の奥に四角い窓のある壁が、隠し部屋には窓のない壁ができました。しかし少し物足りないので、窓に格子も付けましょう。

手順やること
1モノノードンをコピーして細くし、壁の穴の真ん中に設置する
2再びコピーし、今度は横に伸ばして穴の真ん中に設置する

単純ですが格子のハマったちゃんとした窓になりましたね。次は、この窓から良い感じの日差しが入るようにします。

手順やること
1モノからワールドノードンを呼び出す
2ワールドノードンの設定→ワールドのライトの太陽の方角を0に、太陽の高度を40にする

これで部屋に日差しが入りました。では、残りの壁を作っていきましょう。

手順やること
1上から視点に切り替える
2壁のモノノードンをコピーし、部屋の左側、大きさを調整して隠し部屋との境界線、部屋の右側へと設置する
3床のモノノードンを選んでコピーし、部屋全体を覆う大きさにする
4横から視点に切り替える
5先ほどの大きなモノノードンを部屋の上に置いて屋根にする
6屋根のモノノードンの設定を開き、色を変更する

屋根付きのちゃんとした部屋ができました。これで完成と言いたいところですが、ヒトとカメラとの間の壁をまだ作ってません。これではヒトがカメラの方へ進むと床から落ちてしまいます。

カメラの邪魔にならないよう見えない壁を設置しましょう。

手順やること
1上から視点に切り替える
2壁のモノノードンをコピーして、部屋の手前に置く
3モノノードンの設定を開き、「ふるまい」の見えるをオフにする

これで、壁と屋根がある部屋が完成しました。

ステップ3:隠し扉とあやしげなモノたち

ステップ3に登場するノードン
フリースライドれんけつノードン フリースライド スティックノードン スティック オシャレなモノノードン オシャレなモノ モノノードン モノ 数つきモノノードン 数つきモノ

ステップ3から謎解きらしい仕掛けをどんどんプログラミングしていきます。まず最初に作るのは、全ての謎を解いた時に開かれる隠し扉です。

扉にはモノノードンを使うとして、問題は、謎が解けた時に自動で動いて開くようにすることです。扉を動かすため、新たな特殊れんけつを使いましょう。フリースライドれんけつノードンを間に挟んでれんけつすると、れんけつしたモノを自由に動かせます。

手順やること
1壁のモノノードンをコピーし、少し離れた位置に設置する
2モノからフリースライドれんけつノードンを呼び出す
3フリースライドれんけつノードンを、隠し部屋との境界線のモノノードンにれんけつする
4次に、扉のモノノードンの設定を開き、
└「ふるまい」の見える・動くをオンにする
└「れんけつ面」の自分のれんけつ面をZ-、れんけつ先の面をZ+にする
5扉のモノノードンをフリースライドれんけつノードンとれんけつする

これで隠し部屋の境界線の壁の隣に、扉がくっついている状態になりました。この扉は自動で開く仕組みしたいのですが、ひとまず、他の仕掛けが完成するまで、Rスティックで動かせるようにしておきます。

手順やること
1入力から「Rスティック」→「上下」のスティックノードンを呼び出す
2スティックノードンとフリースライドれんけつノードンのZポートをつなぐ
3入力から「Rスティック」→「左右」のスティックノードンを呼び出す
4左右のスティックノードンとフリースライドれんけつノードンのXポートをつなぐ

スティックノードンをZポートにつなぐとZ方向(部屋の奥方向)に動き、XポートにつなぐとX方向(左右方向)に動きます。これでRスティックで上下左右に動く扉になりましたね。

さて、次ですが、実はこの隠し扉はすり抜けられます。色んな方向に動かすには、その方が都合がいいのですが、このままではヒトが隠し部屋に入れてしまいます。

隠し部屋の中に見えない直方体を置いて、中に入れないようにしてしまいましょう。

手順やること
1壁のモノノードンをコピーし、隠し部屋に合わせてサイズ調整し、扉を塞ぐように置く
2モノノードンを設定を開き、「ふるまい」の当たるだけをオンにする

隠し部屋の中に見えない障害物が置かれたので、扉をすり抜けられても、中に入ることはできません。開閉の仕組みはできていることだし、隠し扉はいったんこれで放置します。

続いて、部屋の中にあやしいモノたちを置いていきます。

手順やること
1モノから「ハコ」のオシャレなモノノードンを呼び出す
2オシャレなモノノードンを部屋の端に設置する
3横から視点に切り替えてから、オシャレなモノノードンを床の上に置く
4オシャレなモノノードンの設定を開き、「ふるまい」を見える・当たる・こわれるをオンにする

壊れるハコが登場しました。壊れる設定にしたのには理由がありますが、それは後回しにして、次はあやしいテレビを部屋に置いてみましょう。

手順やること
1モノから「テレビ」のオシャレなモノノードンを呼び出す
2上から視点に切り替え、テレビを壁の方へ寄せる
3オシャレなモノノードンの設定を開き、「ふるまい」の動くをオフにする

このテレビは怪しい雰囲気を演出するための小道具です。これで部屋の中にハコとテレビが置かれました。最後にもう1つ、ボタンと数字のブロックの2つからできた謎の装置を作ります。謎解きに必要になる装置です。

まずは操作のボタンからプログラミング。

手順やること
1モノから「円柱」のモノノードンを呼び出し、右の壁に合わせる
2横から視点に切り替え、円柱のモノノードンを押しやすい高さに設置する
3モノノードンをくるっと回転させる
4モノノードンをの設定を開き、「ふるまい」を見える・当たるのみオンにし、色も変えておく

円柱をくるっと回して壁に取り付けたことで、いかにも押してくれと言わんばかりのボタンができました。次は数字のブロックです。

手順やること
1上から視点に切り替え、モノから数つきモノノードンを呼び出す
2数つきモノノードンを、壁のボタンと重なるように置く
3横向き視点に切り替え、小さくしてボタンの上に設置する
4数つきモノノードンの設定を開き、
└「ふるまい」を見える・当たるのみオンにし
└色を変更する
└表示方向をX-にする

ボタンの上に色の違うブロックが埋め込まれ、「00」という数字を表示するようになりました。数つきモノノードンが表示するこの数字は、謎解きの重要な要素となります。その仕掛けは次でやるとして、ステップ3はこれでクリアです!

ステップ4:謎の木箱を壊す手段

ステップ4に登場するノードン
モノをこわすノードン モノをこわす さわっているセンサーノードン さわっているセンサー ボタンノードン ボタン ANDノードン AND エフェクトノードン エフェクト
音を鳴らすノードン 音を鳴らす 定数ノードン 定数 くらべるノードン くらべる カウンターノードン カウンター

前のステップではあやしいモノをたくさん作りましたね。ステップ4では、その中の1つ「ハコ」をパンチで壊れるようにプログラミングします。モノを壊すと言えば、モノをこわすノードンですよね。

手順やること
1モノからモノをこわすノードンを呼び出す
2モノをこわすノードンの設定を開き、
└「ふるまい」の見えるをオフにする
└「何をこわす?」でハコだけオンにする
3モノをこわすノードンをハコのオシャレなモノノードンにれんけつする

連結することで、モノをこわすノードンがハコにぴったりくっつきました。次はヒトがハコをパンチした時にハコが壊れるようにします。

手順やること
1モノからさわっているセンサーノードンを呼び出す
2さわっているセンサーノードンの設定を開き、
└「ふるまい」の見えるをオフにする
└「れんけつ面」の自分のれんけつ面をZ+、れんけつ先の面をZ-にする
└「何をチェックする?」をハコだけにする
3さわっているセンサーノードンをヒトノードンとれんけつする

これで、ヒトがハコに触ると、さわっているセンサーノードンに伝わるようになりました。次は、Yボタンが押されたかチェックする仕組みが必要です。

手順やること
1入力から「Y」のボタンノードンを呼び出す

さて、ヒトがハコに触れる、ボタンが押される、の2つの条件が揃った時だけシグナルを出力するように、今回もANDノードンを使いましょうか。

手順やること
1中間からANDノードンを呼び出す
2さわっているセンサーノードンをANDノードンの入力1ポートにつなぐ
3YのボタンノードンをANDノードンの入力2ポートにつなぐ
4最後にANDノードンの出力ポートをモノをこわすノードンにつなぐ

これで、ヒトがハコに触り、Yボタンが押された時に、ANDノードンがシグナルを出し、モノをこわすノードンがハコを壊すようになりました。つまり、Yボタンでハコを壊せます。

ここでちょっと一工夫。Yボタン1発で壊してしまうとあっけないので、パンチを3発入れると壊れるように改造しちゃいましょう。数えると言えばカウンターノードンです。

手順やること
1中間からカウンターノードンを呼び出す
2カウンターノードンの設定を開き、
└「スタートしたときのカウント」を3にする
└「モード」をはんい制限にする
└「カウントするタイミング」を0から変わった瞬間にする
3ANDノードンとモノをこわすノードンをつなぐワイヤーを解除する
4代わりに、ANDノードンの出力ポートをカウンターノードンの減らすポートにつなぐ

これで、ハコをパンチするたび、カウントが減っていく仕組みが出来ました。次は、このカウントが0になったらハコを壊すようにプログラミングしましょう。

手順やること
1中間から「=」のくらべるノードンを呼び出す
2入手から定数ノードンを呼び出す
3定数ノードンの設定を開き、「いくつ出力する?」を0.00にする
4カウンターノードンとくらべるノードンの入力1ポートをつなぐ
5定数ノードンをくらべるノードンの入力2ポートにつなぐ
6くらべるノードンの出力ポートとモノをこわすノードンをつなぐ

これで、カウンターノードンのカウントと定数ノードンの数をくらべるノードンが比べて、同じ「0」になった時に、モノをこわすノードンにシグナルが送られます。つまり、3回パンチでハコが壊れるようになりました!

それではちょっとした演出を加えて行きましょう。ハコをパンチした時に「何かある」と伝わるように、音を付けるのです。

手順やること
1出力から音を鳴らすノードンを呼び出す
2音を鳴らすノードンの設定を開き、効果音の「ぶつかる」を選び、中ヒットを選ぶ
3ANDノードンを音を鳴らすノードンの再生ポートにつなぐ

ハコをパンチすると「中ヒット」の音が出るようになりましたね。さらに見た目も一工夫しましょう。ハコを殴ると煙が出るというのはどうでしょうか。

手順やること
1モノから「けむり」のエフェクトノードンを呼び出す
2エフェクトノードンの設定を開き、
└「エフェクトが出る位置」をワールドにする
└「ふるまい」の見えるをオフにする
3エフェクトノードンをハコのオシャレなモノノードンにれんけつする
4ANDノードンとエフェクトノードンをつなぐ

これでパンチすると煙が出るようになりましたね!

パンチ3発でハコが壊れる仕組み、パンチに合わせて音が鳴り、煙が出る演出とが揃ったところで、ステップ4クリアです!

ステップ5:隠されていた暗号

ステップ5に登場するノードン
オシャレなモノノードン オシャレなモノ モノノードン モノ

前回、パンチでハコを壊れるようにしたのは、実は、箱の裏に謎解きのヒントとなる「暗号」を置くためでした。ハコを壊してヒントを得る!謎解きらしくなってきましたね~!

ステップ5では、この暗号を作っていきます。どんな暗号かというと、サイコロの性質を利用した暗号です。

手順やること
1モノから「サイコロ」のオシャレなモノノードンを呼び出し、ハコの裏に置く
2横から視点に切り替え、オシャレなモノノードンの設定を開いて、「ふるまい」の見える・当たるにする
3オシャレなモノノードンをコピーし、サイコロを3つに増やして配置する

サイコロ3つがハコの裏にはりつけられました。今のところは、3つとも「2」の面が部屋の方を向いています。サイコロの向きを変えて、見える数字を変えましょう。

手順やること
1最初のサイコロの設定を開き、回転のY軸を180.00°にする
22つめのサイコロの設定を開き、回転のY軸を90.00°にする
33つめのサイコロの設定を開き、回転のX軸を90.00にする

サイコロの面が変わりました。「5」「3」「1」の面が部屋の方を向いています。このままでは何の数字か分からないので、これを暗号っぽくします。

手順やること
1モノから「直方体」のモノノードンを呼び出して設置する
2上から視点に切り替え、奥行きを合わせる
3モノノードンの設定を開き、「ふるまい」の見える・当たるのみオンにする
4横から視点に切り替える
5次に、先ほどのモノノードンをコピーし、サイズを調整して設置する
6モノノードンの設定を開き、色を変更する
レッスン5・ステップ5の暗号

暗号が出来ましたね!何の暗号か分かるでしょうか?色が違うブロックが使われていることも、ヒントになりそうですよ。

暗号の答え合わせは次でやるとして、無事に隠された暗号を作り終え、ステップ5クリアです!

ステップ6:壁の装置と暗号の鍵

ステップ6に登場するノードン
カウンターノードン カウンター さわっているセンサーノードン さわっているセンサー ボタンノードン ボタン 音を鳴らすノードン音を鳴らす ANDノードン AND
ワイヤーワープ入力ノードン ワイヤー入口 ワイヤーワープロ出力ノードン ワイヤー出口 定数ノードン 定数 くらべるノードン くらべる

ステップ6では、壁のボタンを押すと壁の装置の数字が増えるようにし、その数字が正解かどうか答え合わせする仕組みをプログラミングしていきます。

手順やること
1中間からカウンターノードンを呼び出す
2カウンターノードンの設定を開き、
└「モード」をループにする
└「カウントはんい」を0~100にする
└「カウントするタイミング」を0から変わったしゅんかんにする
3カウンターノードンと数つきモノノードンとつなぐ

カウンターノードンが押された数を数えるようになりました。次は壁のボタン(円柱のモノノードン)をパンチしているかチェックします。ハコを壊す仕組みと同じものです。

手順やること
1モノからさわっているセンサーノードンを呼び出す
2さわっているセンサーノードンの設定を開き、
└「ふるまい」の見えるをオフにする
└「れんけつ面」の自分のれんけつ面をZ+、れんけつ先の面をZ-にする
└「何をチェックする?」を円柱だけにする
3さわっているセンサーノードンをヒトノードンとれんけつする

次にパンチをしているかどうか。

手順やること
1入力から「Y」のボタンノードンを呼び出す
2中間からANDノードンを呼び出す
3さわっているセンサーノードンをANDノードンの入力1ポートにつなぐ
4ボタンノードンをANDノードンの入力2ポートにつなぐ
5ANDノードンの出力ポートをカウンターノードンの増やすポートにつなぐ

これでANDノードンの入力1/入力2ポートから入って来る条件が揃った時に、カウンターノードンにシグナルが送られます。今回は「条件1:Yボタンをおしたら」と「条件2:ボタンに触れたら」です。

Yボタンで壁の装置を押すと数が増えていきますよ!次はボタンを叩いた時に音がなるようにしましょう。これもハコを壊す仕組みを作った時にやったプログラミングです。

手順やること
1出力から音を鳴らすノードンを呼び出す
2音を鳴らすノードンの設定を開き、効果音の「システム」を選び、ポコを選ぶ
3ANDノードンを音を鳴らすノードンの再生ポートにつなぐ

音が鳴るようになりましたね。ところでこの装置は何に使うものでしたっけ?実は暗号の答えを入力するための装置なんです。

というわけで、次はいよいよ暗号の答え合わせの仕組みをプログラミングします。答え合わせとは、つまり、装置の数と暗号の答えの数が同じかどうか調べることなので、くらべるノードンを呼び出します。

手順やること
1中間から「=」のくらべるノードンを呼び出す
2入力から定数ノードンを呼び出す

この定数ノードンには、暗号の答えの数を設定します。

暗号の答えは「26」。ステップ5で作った暗号は、サイコロの展開図になっていて、青いブロックに入る数字が暗号の答えとなります。
手順やること
1定数ノードンの設定を開き、「いくつ出力する?」を26.00にする
2くらべるノードンの入力1ポートにカウンターノードンをつなぐ
3くらべるノードンの入力2ポートに定数ノードンをつなぐ
4出力から音を鳴らすノードンを呼び出す
5くらべるノードンの出力ポートと音を鳴らすノードンの再生ポートにつなぐ
6音を鳴らすノードンの設定を開き、効果音の「システム」を選び、ポコを選ぶ

定数ノードンに答えの「26」を入力し、カウンターノードンがボタンのパンチ数を数えて、26になったら効果音がなる仕組みができましたね。ただ、今の状態だと、ハコを壊さなくても、26回ボタンをパンチすると正解になってしまいます。

正解になるのはハコが壊れた後になるようプログラミングしていきましょう。ステップ4で作ったハコを壊すプログラムを使って、ハコが壊れているかをチェックします。

ステップ4で「3回パンチ」と「定数」とを比べるのに使ったくらべるノードンは、ハコがこわれた後ずっとシグナルを出力しているので、ハコが壊れているかチェックするのに使えます。

ハコが壊れているかチェックするのに使うくらべるノードン

ワイヤーワープ入口/出口を使ってプログラミングを整理しながら作っていきましょう。

手順やること
1中間からワイヤーワープ入口ノードンを呼び出す
2くらべるノードンとワイヤーワープ入口ノードンをつなぐ
3ワイヤーワープ出口ノードンを呼び出して、暗号の答え合わせができるノードンたちの近くに置く
4中間からANDノードンを呼び出す
5=のくらべるノードンと音を鳴らすノードンをつなぐワイヤーを解除する
6ワイヤーワープ出口ノードンとANDノードンの入力2ポートをつなぐ
7=のくらべるノードンとANDノードンを入力1ポートにつなぐ
8ANDノードンの出力ポートを音を鳴らすノードンの再生ポートにつなぐ

これで、ハコを壊す前にボタンを26回パンチしても正解になりません。ハコを壊した後に26回パンチすると正解の音がなります。難しいステップでしたが、ステップ6無事クリア!

ステップ7:動き出す隠し扉

ステップ7に登場するノードン
ワイヤーワープ入力ノードン ワイヤー入口 ワイヤーワープロ出力ノードン ワイヤー出口 マッピングノードン マッピング
定数ノードン 定数 カウンターノードン カウンター くらべるノードン くらべる

ステップ7では、ステップ3で作った隠し扉に、自動で開く仕組みをプログラミングします。ステップ3ではRスティックで動くようにしましたが、これを謎が解けた後に自動で動いて開くようにします。謎が解けると扉はまず奥へと動き出し、その後、横にスライドするという二段階の動きをつけます。

作り始める前にまず準備が1つあります。

手順やること
1フリースライドれんけつノードンと繋がっているスティックノードン×2を解除する

不要なコードなので解除しておきます。

さて、扉が開き出す条件は、

  1. 箱が壊れている
  2. 装置の数が暗号の答えと同じ

以上の2つが揃った時。

その時にシグナルを出力するのは、前のステップで呼び出したANDノードンなので、そのANDノードンがシグナルを出力している時に扉が動くようにプログラミングします。

複雑な仕組みなのでワイヤーワープを使ってコードを整理しながらやっていきます。

手順やること
1中間からワイヤーワープ入口ノードンを呼び出してANDノードンの近くに置く
2ワイヤーワープ入口のワープIDはBにする
3ANDノードンとワイヤーワープ入口をつなぐ
4空いたスペースに中間からワイヤーワープ出口ノードンを呼び出す
5ワイヤーワープ出口のワープIDもBにする

条件が揃った時にANDノードンからのシグナルを送るワイヤーワープ入口/出口の準備が整いました。それでは、隠し扉が奥の方(X方向)に動くようプログラミングしていきましょう。

謎が解けた時にX方向へ扉を動かす

手順やること
1中間からカウンターノードンを呼び出し、
└モードを「はんい制限」
└カウント範囲を0~60
2ワイヤーワープ出口をカウンターノードンの増やすポートにつなぐ

次はカウントされた数を隠し扉が動く距離に変換します。

手順やること
1中間からマッピングノードンを呼び出し
└入力はんいを0.00~60.00
└出力はんいを0.00~0.30
2カウンターの出力ポートとマッピングの入力ポートをつなぐ

これで扉が動く距離に変換されます。この変換結果を、フリースライドれんけつノードンに伝えます。

手順やること
1中間からワイヤーワープ入口を出してワープIDをXにする
2マッピングノードンとワイヤーワープ入口をつなぐ
3フリースライドれんけつの近くにワイヤーワープ出口を出し、ワープIDをXにする
4ワイヤーワープ出口をフリースライドれんけつのXポートにつなぐ

Xポートにつなぐワイヤーだから、ワープIDも「X」というわけです。覚えやすいですね。これで2つの条件が揃った時、つまり謎が解けた時に、扉がX方向へ動く仕組みができました

Z方向へ扉を動かす

※扉の動きを確認しやすくなるため、ゲームが始まったらいきなり扉が動き出すよう、ここでプログラムに変更を加えます。入力から定数ノードンを出し、定数ノードンをカウンターノードンの増やすポートに繋ぎます。これで条件が揃った時ではなく、ゲーム開始直後に扉が開くようになります。開発効率を上げる工夫です。

では、隠し扉をZ方向(横方向)にスライドする仕組みを作ります。隠し扉はまず奥に動いた後、横に動いて欲しいので、まず奥に動ききったかをチェックするようにします。

手順やること
1中間から=のくらべるノードンを呼び出す
2入力から定数ノードンを呼び出し設定→60.00にする
3カウンターノードンの出力ポートをくらべるノードンの入力1ポートにつなぐ
4定数ノードンをくらべるノードンの入力2ポートにつなぐ

これで扉が奥へ開ききったかを、くらべるノードンが判定するようになりました。次は横へスライドする動きです。

手順やること
1カウンターノードンを呼び出し、
└モードをはんい制限
└カウントはんいを0~180
2くらべるノードンの出力ポートとカウンターノードンの増やすポートをつなぐ

カウンターノードンの設定を0~180にしたので、最初のカウンターノードンより3倍の数を数えてからシグナルが出力されます。このカウントされた数を、動く距離に変換します。

手順やること
1中間からマッピングノードンを呼び出し、
└入力はんいを0~180.00
└出力はんいを-3.20~0.00
└↔を押す
2カウンターノードンをマッピングノードンにつなぐ
3ワイヤーワープ入口を出して、ワープIDをZにする
4マッピングノードンとワイヤーワープ入口をつなぐ
5ワイヤーワープ出口を出して、ワープIDをZにする
6ワイヤーワープ出口をフリースライドれんけつのZポートにつなぐ

このマッピングノードンは、入力が0.00の時は0.00を出力し、入力が180.00の時は-3.20を出力し、その出力はワイヤーワープを通ってフリースライドれんけつに伝わります。

謎が解けた時にまず扉が奥に動き、次に横にスライドする、2段階の動きの完成です。

ステップ8:きしむ歯車の音

ステップ8に登場するノードン
くらべるノードン くらべる NOTノードン NOT エフェクトノードン エフェクト
定数ノードン 定数 音を鳴らすノードン 音を鳴らす ANDノードン AND

謎解きの最後を飾るにふさわしい扉の開き方をプログラミングしていきます。まずは隠し扉が開ききったらエフェクトが出る仕組み、さらにクラッカーが鳴る仕組みも加えていきます。

隠し扉が開ききったらエフェクト

隠し扉が開ききるのは、ステップ7で設置した0~180のカウンターノードンが180をカウントした時です。

手順やること
1中間から=のくらべるノードンを呼び出す
2入力から定数ノードンを呼び出し設定→180.00にする
3カウンターノードンの出力ポートとくらべるノードンの入力1ポートをつなぐ
4定数ノードンとくらべるノードンの入力2ポートをつなぐ
5モノからクラッカーのエフェクトノードンを呼び出す
6くらべるノードンの出力ポートとエフェクトノードンをつなぐ

カウンターノードンの数と、定数の数が、180と同じになった時に、くらべるノードンがシグナルを出力し、エフェクトノードンがクラッカーを鳴らします。

扉が開く効果音

扉が動いている最中に、扉がきしむ効果音を挿入します。扉が動いている時とは、逆に言えば「扉が開ききっていない時」です。

先ほど設置したくらべるノードンは、扉が開ききったらシグナルを出力するので、NOTノードンを使って、扉が開ききっていない時だけシグナルが出力されるという仕組みに利用できます。

手順やること
1中間からNOTノードンを呼び出す
2くらべるノードンをNOTノードンにつなぐ
3出力から音を鳴らすノードンを呼び出す
4音を鳴らすノードンの設定→効果音を機械の歯車にする
5NOTノードンを音を鳴らすノードンの再生ポートにつなぐ

無事に扉が開ききっていない時に歯車の効果音が鳴るようになりました。

★問題を解決する

効果音は設定できましたが、実はこの仕組みには問題があります。それは、扉が開ききる前に効果音が鳴るように設定したことで、謎解きが終わる前からずっと歯車の効果音が鳴り続けてしまうという点です。謎解きの最中も、「扉が開ききる前」という条件に当てはまります。

なので謎が解ける前は歯車の音を止める必要があります。

謎が解けていて、なおかつ扉が開ききる前という条件に修正しましょう。2つのことをチェックする仕組みには、ANDノードンを使います。

手順やること
1NOTノードンと音を鳴らすノードンをつなぐワイヤーを解除する
2中間からANDノードンを呼び出す
3ワイヤーワープ出口(B) をコピーしてANDノードンの近くに置く
4NOTノードンをANDノードンの入力1ポートにつなぐ
5ワイヤーワープ出口(B)をANDノードンの入力2ポートにつなぐ
6ANDノードンを音を鳴らすノードンの再生ポート

ワイヤーワープ出口(B)はステップ7で設置したもので、謎が解けている時にシグナルを出力しています。そのワイヤーワープ出口(B)と、扉が開ききっていない時にシグナルを出力するNOTノードンの2体のノードンの条件が揃った時に、ANDノードンがシグナルを出します。

  • ワイヤーワープ出口(B):謎が解けている
  • NOTノードン:扉が開ききっていない

これで謎が解けていて、かつ扉が開ききっていない時に、歯車の効果音が鳴ります。

ステップ9:現れ出る宝

ステップ9に登場するノードン
BGMノードン BGM テクスチャノードン テクスチャ

BGMと隠された宝をプログラミングしてこの謎解きを完結させます。BGMは、謎を解く前と謎を解いた後で曲が変わるように設定します。

BGMの設定

★謎を解いている時のBGM

手順やること
1出力からBGMノードンを呼び出す
2NOTノードンをBGMノードンの再生ポートにつなぐ

NOTノードンは扉が開ききるまでずっとシグナルを出力します。

★謎が解けた後のBGM

手順やること
1出力からBGMノードンを呼び出す
2くらべるノードンをBGMノードンの再生ポートにつなぐ
3BGMノードンの設定→曲をゆうかんにする

くらべるノードンは扉が開ききったらシグナルを出力します。

これで、扉が開ききる前と、開ききった後でBGMが切り変わる仕組みの完成です。

宝を設置する

手順やること
1モノからテクスチャノードンを呼び出すサイズ調整する
2視点を切り替えテクスチャノードンを隠し部屋にの床上に設置する
3テクスチャノードンの設定から自由に絵を描く

これで謎を解いて扉が開いた時、隠し部屋の中から、プレイヤーが描いた絵の宝が登場するようになります。

自由時間

残りは自由時間です。

  • テクスチャノードンの絵
  • 2つのBGMノードンの設定

以上を自分好みに設定し直すことができます。終わったら「できた」ボタンを押して、レッスン5「謎解きの部屋」完了です!!

以上、レッスン5「謎解きの部屋」の攻略情報でした。お疲れさまでした~!

ナビつきレッスン攻略一覧まとめはこちら。


本記事に使用しているゲーム画像や著作権および商標権、その他知的財産権は、当該コンテンツの提供元に帰属します。© Nintendo

レッスン
スポンサーリンク

Amazonでのお買い物は、Amazonギフト券をチャージして購入するのがお得です。チャージするだけで最大2.5%のポイントが貰えます。

プログラミングを本で学ぶ

Amazon APIのアクセスキーもしくはシークレットキーもしくはトラッキングIDが設定されていません。「Cocoon設定」の「API」タブから入力してください。
Amazon APIのアクセスキーもしくはシークレットキーもしくはトラッキングIDが設定されていません。「Cocoon設定」の「API」タブから入力してください。
この記事を書いた人
ぷろみーちゃん

Switchゲーム大好きな成人女。switchソフト『ナビつき!つくってわかるはじめてゲームプログラミング』攻略中。更新遅くてごめんなさい。よければリピーターになってください!(2021/6/1開設)

ぷろみーちゃんをフォローする
ぷろみんちゃんねる

コメント

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