本記事は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」のボタンノードンを呼び出す |
7 | Yボタンのボタンノードンをヒトノードンのアクションポートにつなぐ |
ヒトがスティック操作で動きまわり、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 | エフェクト |
音を鳴らす | 定数 | くらべる | カウンター | – |
前のステップではあやしいモノをたくさん作りましたね。ステップ4では、その中の1つ「ハコ」をパンチで壊れるようにプログラミングします。モノを壊すと言えば、モノをこわすノードンですよね。
手順 | やること |
---|---|
1 | モノからモノをこわすノードンを呼び出す |
2 | モノをこわすノードンの設定を開き、 └「ふるまい」の見えるをオフにする └「何をこわす?」でハコだけオンにする |
3 | モノをこわすノードンをハコのオシャレなモノノードンにれんけつする |
連結することで、モノをこわすノードンがハコにぴったりくっつきました。次はヒトがハコをパンチした時にハコが壊れるようにします。
手順 | やること |
---|---|
1 | モノからさわっているセンサーノードンを呼び出す |
2 | さわっているセンサーノードンの設定を開き、 └「ふるまい」の見えるをオフにする └「れんけつ面」の自分のれんけつ面をZ+、れんけつ先の面をZ-にする └「何をチェックする?」をハコだけにする |
3 | さわっているセンサーノードンをヒトノードンとれんけつする |
これで、ヒトがハコに触ると、さわっているセンサーノードンに伝わるようになりました。次は、Yボタンが押されたかチェックする仕組みが必要です。
手順 | やること |
---|---|
1 | 入力から「Y」のボタンノードンを呼び出す |
さて、ヒトがハコに触れる、ボタンが押される、の2つの条件が揃った時だけシグナルを出力するように、今回もANDノードンを使いましょうか。
手順 | やること |
---|---|
1 | 中間からANDノードンを呼び出す |
2 | さわっているセンサーノードンをANDノードンの入力1ポートにつなぐ |
3 | YのボタンノードンをANDノードンの入力2ポートにつなぐ |
4 | 最後にANDノードンの出力ポートをモノをこわすノードンにつなぐ |
これで、ヒトがハコに触り、Yボタンが押された時に、ANDノードンがシグナルを出し、モノをこわすノードンがハコを壊すようになりました。つまり、Yボタンでハコを壊せます。
ここでちょっと一工夫。Yボタン1発で壊してしまうとあっけないので、パンチを3発入れると壊れるように改造しちゃいましょう。数えると言えばカウンターノードンです。
手順 | やること |
---|---|
1 | 中間からカウンターノードンを呼び出す |
2 | カウンターノードンの設定を開き、 └「スタートしたときのカウント」を3にする └「モード」をはんい制限にする └「カウントするタイミング」を0から変わった瞬間にする |
3 | ANDノードンとモノをこわすノードンをつなぐワイヤーを解除する |
4 | 代わりに、ANDノードンの出力ポートをカウンターノードンの減らすポートにつなぐ |
これで、ハコをパンチするたび、カウントが減っていく仕組みが出来ました。次は、このカウントが0になったらハコを壊すようにプログラミングしましょう。
手順 | やること |
---|---|
1 | 中間から「=」のくらべるノードンを呼び出す |
2 | 入手から定数ノードンを呼び出す |
3 | 定数ノードンの設定を開き、「いくつ出力する?」を0.00にする |
4 | カウンターノードンとくらべるノードンの入力1ポートをつなぐ |
5 | 定数ノードンをくらべるノードンの入力2ポートにつなぐ |
6 | くらべるノードンの出力ポートとモノをこわすノードンをつなぐ |
これで、カウンターノードンのカウントと定数ノードンの数をくらべるノードンが比べて、同じ「0」になった時に、モノをこわすノードンにシグナルが送られます。つまり、3回パンチでハコが壊れるようになりました!
それではちょっとした演出を加えて行きましょう。ハコをパンチした時に「何かある」と伝わるように、音を付けるのです。
手順 | やること |
---|---|
1 | 出力から音を鳴らすノードンを呼び出す |
2 | 音を鳴らすノードンの設定を開き、効果音の「ぶつかる」を選び、中ヒットを選ぶ |
3 | ANDノードンを音を鳴らすノードンの再生ポートにつなぐ |
ハコをパンチすると「中ヒット」の音が出るようになりましたね。さらに見た目も一工夫しましょう。ハコを殴ると煙が出るというのはどうでしょうか。
手順 | やること |
---|---|
1 | モノから「けむり」のエフェクトノードンを呼び出す |
2 | エフェクトノードンの設定を開き、 └「エフェクトが出る位置」をワールドにする └「ふるまい」の見えるをオフにする |
3 | エフェクトノードンをハコのオシャレなモノノードンにれんけつする |
4 | ANDノードンとエフェクトノードンをつなぐ |
これでパンチすると煙が出るようになりましたね!
パンチ3発でハコが壊れる仕組み、パンチに合わせて音が鳴り、煙が出る演出とが揃ったところで、ステップ4クリアです!
ステップ5:隠されていた暗号
ステップ5に登場するノードン | |
---|---|
オシャレなモノ | モノ |
前回、パンチでハコを壊れるようにしたのは、実は、箱の裏に謎解きのヒントとなる「暗号」を置くためでした。ハコを壊してヒントを得る!謎解きらしくなってきましたね~!
ステップ5では、この暗号を作っていきます。どんな暗号かというと、サイコロの性質を利用した暗号です。
手順 | やること |
---|---|
1 | モノから「サイコロ」のオシャレなモノノードンを呼び出し、ハコの裏に置く |
2 | 横から視点に切り替え、オシャレなモノノードンの設定を開いて、「ふるまい」の見える・当たるにする |
3 | オシャレなモノノードンをコピーし、サイコロを3つに増やして配置する |
サイコロ3つがハコの裏にはりつけられました。今のところは、3つとも「2」の面が部屋の方を向いています。サイコロの向きを変えて、見える数字を変えましょう。
手順 | やること |
---|---|
1 | 最初のサイコロの設定を開き、回転のY軸を180.00°にする |
2 | 2つめのサイコロの設定を開き、回転のY軸を90.00°にする |
3 | 3つめのサイコロの設定を開き、回転のX軸を90.00にする |
サイコロの面が変わりました。「5」「3」「1」の面が部屋の方を向いています。このままでは何の数字か分からないので、これを暗号っぽくします。
手順 | やること |
---|---|
1 | モノから「直方体」のモノノードンを呼び出して設置する |
2 | 上から視点に切り替え、奥行きを合わせる |
3 | モノノードンの設定を開き、「ふるまい」の見える・当たるのみオンにする |
4 | 横から視点に切り替える |
5 | 次に、先ほどのモノノードンをコピーし、サイズを調整して設置する |
6 | モノノードンの設定を開き、色を変更する |
暗号が出来ましたね!何の暗号か分かるでしょうか?色が違うブロックが使われていることも、ヒントになりそうですよ。
暗号の答え合わせは次でやるとして、無事に隠された暗号を作り終え、ステップ5クリアです!
ステップ6:壁の装置と暗号の鍵
ステップ6に登場するノードン | ||||
---|---|---|---|---|
カウンター | さわっているセンサー | ボタン | 音を鳴らす | AND |
ワイヤー入口 | ワイヤー出口 | 定数 | くらべる | – |
ステップ6では、壁のボタンを押すと壁の装置の数字が増えるようにし、その数字が正解かどうか答え合わせする仕組みをプログラミングしていきます。
手順 | やること |
---|---|
1 | 中間からカウンターノードンを呼び出す |
2 | カウンターノードンの設定を開き、 └「モード」をループにする └「カウントはんい」を0~100にする └「カウントするタイミング」を0から変わったしゅんかんにする |
3 | カウンターノードンと数つきモノノードンとつなぐ |
カウンターノードンが押された数を数えるようになりました。次は壁のボタン(円柱のモノノードン)をパンチしているかチェックします。ハコを壊す仕組みと同じものです。
手順 | やること |
---|---|
1 | モノからさわっているセンサーノードンを呼び出す |
2 | さわっているセンサーノードンの設定を開き、 └「ふるまい」の見えるをオフにする └「れんけつ面」の自分のれんけつ面をZ+、れんけつ先の面をZ-にする └「何をチェックする?」を円柱だけにする |
3 | さわっているセンサーノードンをヒトノードンとれんけつする |
次にパンチをしているかどうか。
手順 | やること |
---|---|
1 | 入力から「Y」のボタンノードンを呼び出す |
2 | 中間からANDノードンを呼び出す |
3 | さわっているセンサーノードンをANDノードンの入力1ポートにつなぐ |
4 | ボタンノードンをANDノードンの入力2ポートにつなぐ |
5 | ANDノードンの出力ポートをカウンターノードンの増やすポートにつなぐ |
これでANDノードンの入力1/入力2ポートから入って来る条件が揃った時に、カウンターノードンにシグナルが送られます。今回は「条件1:Yボタンをおしたら」と「条件2:ボタンに触れたら」です。
Yボタンで壁の装置を押すと数が増えていきますよ!次はボタンを叩いた時に音がなるようにしましょう。これもハコを壊す仕組みを作った時にやったプログラミングです。
手順 | やること |
---|---|
1 | 出力から音を鳴らすノードンを呼び出す |
2 | 音を鳴らすノードンの設定を開き、効果音の「システム」を選び、ポコを選ぶ |
3 | ANDノードンを音を鳴らすノードンの再生ポートにつなぐ |
音が鳴るようになりましたね。ところでこの装置は何に使うものでしたっけ?実は暗号の答えを入力するための装置なんです。
というわけで、次はいよいよ暗号の答え合わせの仕組みをプログラミングします。答え合わせとは、つまり、装置の数と暗号の答えの数が同じかどうか調べることなので、くらべるノードンを呼び出します。
手順 | やること |
---|---|
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ポートにつなぐ |
8 | ANDノードンの出力ポートを音を鳴らすノードンの再生ポートにつなぐ |
これで、ハコを壊す前にボタンを26回パンチしても正解になりません。ハコを壊した後に26回パンチすると正解の音がなります。難しいステップでしたが、ステップ6無事クリア!
ステップ7:動き出す隠し扉
ステップ7に登場するノードン | ||
---|---|---|
ワイヤー入口 | ワイヤー出口 | マッピング |
定数 | カウンター | くらべる |
ステップ7では、ステップ3で作った隠し扉に、自動で開く仕組みをプログラミングします。ステップ3ではRスティックで動くようにしましたが、これを謎が解けた後に自動で動いて開くようにします。謎が解けると扉はまず奥へと動き出し、その後、横にスライドするという二段階の動きをつけます。
作り始める前にまず準備が1つあります。
手順 | やること |
---|---|
1 | フリースライドれんけつノードンと繋がっているスティックノードン×2を解除する |
不要なコードなので解除しておきます。
さて、扉が開き出す条件は、
- 箱が壊れている
- 装置の数が暗号の答えと同じ
以上の2つが揃った時。
その時にシグナルを出力するのは、前のステップで呼び出したANDノードンなので、そのANDノードンがシグナルを出力している時に扉が動くようにプログラミングします。
複雑な仕組みなのでワイヤーワープを使ってコードを整理しながらやっていきます。
手順 | やること |
---|---|
1 | 中間からワイヤーワープ入口ノードンを呼び出してANDノードンの近くに置く |
2 | ワイヤーワープ入口のワープIDはBにする |
3 | ANDノードンとワイヤーワープ入口をつなぐ |
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 | エフェクト |
定数 | 音を鳴らす | AND |
謎解きの最後を飾るにふさわしい扉の開き方をプログラミングしていきます。まずは隠し扉が開ききったらエフェクトが出る仕組み、さらにクラッカーが鳴る仕組みも加えていきます。
隠し扉が開ききったらエフェクト
隠し扉が開ききるのは、ステップ7で設置した0~180のカウンターノードンが180をカウントした時です。
手順 | やること |
---|---|
1 | 中間から=のくらべるノードンを呼び出す |
2 | 入力から定数ノードンを呼び出し設定→180.00にする |
3 | カウンターノードンの出力ポートとくらべるノードンの入力1ポートをつなぐ |
4 | 定数ノードンとくらべるノードンの入力2ポートをつなぐ |
5 | モノからクラッカーのエフェクトノードンを呼び出す |
6 | くらべるノードンの出力ポートとエフェクトノードンをつなぐ |
カウンターノードンの数と、定数の数が、180と同じになった時に、くらべるノードンがシグナルを出力し、エフェクトノードンがクラッカーを鳴らします。
扉が開く効果音
扉が動いている最中に、扉がきしむ効果音を挿入します。扉が動いている時とは、逆に言えば「扉が開ききっていない時」です。
先ほど設置したくらべるノードンは、扉が開ききったらシグナルを出力するので、NOTノードンを使って、扉が開ききっていない時だけシグナルが出力されるという仕組みに利用できます。
手順 | やること |
---|---|
1 | 中間からNOTノードンを呼び出す |
2 | くらべるノードンをNOTノードンにつなぐ |
3 | 出力から音を鳴らすノードンを呼び出す |
4 | 音を鳴らすノードンの設定→効果音を機械の歯車にする |
5 | NOTノードンを音を鳴らすノードンの再生ポートにつなぐ |
無事に扉が開ききっていない時に歯車の効果音が鳴るようになりました。
★問題を解決する
効果音は設定できましたが、実はこの仕組みには問題があります。それは、扉が開ききる前に効果音が鳴るように設定したことで、謎解きが終わる前からずっと歯車の効果音が鳴り続けてしまうという点です。謎解きの最中も、「扉が開ききる前」という条件に当てはまります。
なので謎が解ける前は歯車の音を止める必要があります。
謎が解けていて、なおかつ扉が開ききる前という条件に修正しましょう。2つのことをチェックする仕組みには、ANDノードンを使います。
手順 | やること |
---|---|
1 | NOTノードンと音を鳴らすノードンをつなぐワイヤーを解除する |
2 | 中間からANDノードンを呼び出す |
3 | ワイヤーワープ出口(B) をコピーしてANDノードンの近くに置く |
4 | NOTノードンをANDノードンの入力1ポートにつなぐ |
5 | ワイヤーワープ出口(B)をANDノードンの入力2ポートにつなぐ |
6 | ANDノードンを音を鳴らすノードンの再生ポート |
ワイヤーワープ出口(B)はステップ7で設置したもので、謎が解けている時にシグナルを出力しています。そのワイヤーワープ出口(B)と、扉が開ききっていない時にシグナルを出力するNOTノードンの2体のノードンの条件が揃った時に、ANDノードンがシグナルを出します。
- ワイヤーワープ出口(B):謎が解けている
- NOTノードン:扉が開ききっていない
これで謎が解けていて、かつ扉が開ききっていない時に、歯車の効果音が鳴ります。
ステップ9:現れ出る宝
ステップ9に登場するノードン | |
---|---|
BGM | テクスチャ |
BGMと隠された宝をプログラミングしてこの謎解きを完結させます。BGMは、謎を解く前と謎を解いた後で曲が変わるように設定します。
BGMの設定
★謎を解いている時のBGM
手順 | やること |
---|---|
1 | 出力からBGMノードンを呼び出す |
2 | NOTノードンをBGMノードンの再生ポートにつなぐ |
NOTノードンは扉が開ききるまでずっとシグナルを出力します。
★謎が解けた後のBGM
手順 | やること |
---|---|
1 | 出力からBGMノードンを呼び出す |
2 | くらべるノードンをBGMノードンの再生ポートにつなぐ |
3 | BGMノードンの設定→曲をゆうかんにする |
くらべるノードンは扉が開ききったらシグナルを出力します。
これで、扉が開ききる前と、開ききった後でBGMが切り変わる仕組みの完成です。
宝を設置する
手順 | やること |
---|---|
1 | モノからテクスチャノードンを呼び出すサイズ調整する |
2 | 視点を切り替えテクスチャノードンを隠し部屋にの床上に設置する |
3 | テクスチャノードンの設定から自由に絵を描く |
これで謎を解いて扉が開いた時、隠し部屋の中から、プレイヤーが描いた絵の宝が登場するようになります。
自由時間
残りは自由時間です。
- テクスチャノードンの絵
- 2つのBGMノードンの設定
以上を自分好みに設定し直すことができます。終わったら「できた」ボタンを押して、レッスン5「謎解きの部屋」完了です!!
以上、レッスン5「謎解きの部屋」の攻略情報でした。お疲れさまでした~!
ナビつきレッスン攻略一覧まとめはこちら。
本記事に使用しているゲーム画像や著作権および商標権、その他知的財産権は、当該コンテンツの提供元に帰属します。© Nintendo
コメント