本記事は『ナビつき!つくってわかる はじめてゲームプログラミング』ノードンガイド「3回パンチしたらこわれるしくみ」の内容まとめです。
ヒトのパンチでシグナルが出力される仕組み、そのシグナルをカウントして3回目のパンチでモノが壊れるプログラミングを解説しています。
パンチ3回でモノを壊す
追加条件:レッスン5のステップ4をクリアする
登場する主なノードン | |
---|---|
ヒト | ボタン |
さわっているセンサー | モノをこわす |
画面左にはヒト、右には青い直方体の数つきモノがあります。ヒトをスティック操作で動かし、Yボタンで数つきモノにパンチを入れると、パンチした瞬間に数が「0」→「1」に変化します。
今回はこの仕組みを改造して、3回パンチすると数つきモノが壊れるようにプログラミングします。
パンチでシグナルを出力する
まずはパンチで0→1に数字が変わる現在のプログラム画面を見てみましょう。
ヒトが数つきモノにパンチすると数が0→1に変わる仕組みは、以下のノードンたちで作られています。
- スティックとボタンで操作できるヒトノードン
- 直方体をチェックしているさわっているセンサーノードン
- ANDノードン
- 数つきモノノードン
数つきモノが表示している数はANDノードンが出力している数です。このANDノードンは2つの入力ポートに同じシグナルがあった時だけ、「1.00」を出力します。
ANDノードンの入力ポートには、
- 上ポート:さわっているセンサー
- 下ポート:Yのボタンノードン
が繋がっています。
さわっているセンサーは触っているモノがあるかをチェックします。
触っているセンサーはヒトにれんけつし、ピッタリとくっついています。ヒトの正面にうっすらと見える白いワクが触っているセンサーです。このワクが直方体に触るとシグナルを出力します。
次にYのボタンノードン。ボタンノードンはそのボタンが押された時にシグナルを出力します。
つまり、さわっているセンサーが数つきモノに触れていて、かつ、Yボタンが押された時に2つのシグナルが揃い、ANDノードンが1.00を出力するというわけです。
さらにボタンノードンのワイヤーは、ヒトのアクションポートとも繋がっているので、Yボタンが押された瞬間、ANDノードンにシグナルを送ると同時に、ヒトのアクションポートにもシグナルを送っています。
アクションポートに入力があると、ヒトはパンチのアクションをします。
ANDノードンの条件が揃って「1.00」が出力され、数つきモノが「1」を表示する時、同時にヒトもパンチしているんですね。
ゲーム画面だけ見ていると、あたかもパンチで数が変化したように見えます。実際に数が変化する仕組みを動かしているのは、触っているセンサーと、ボタンノードンと、ANDノードンの3体です。
パンチでモノを壊す
先ほどのプログラム画面にモノをこわすノードンを追加して、パンチで数つきモノを壊すようにします。モノをこわすノードンの発動条件は、触っているセンサーが数つきモノに触れていて、なおかつ、Yボタンが押された時。
- モノをこわすノードンと数つきモノをれんけつする
- ANDノードンをモノをこわすノードンにつなぐ
以上のように繋ぐと、ANDノードンからモノを壊すノードンにシグナルが送られた時に、れんけつしている数つきモノを壊します。
パンチでモノを壊す仕組みについてよく分からない時は、こちらのノードンガイドをご覧ください。
3回目のパンチで壊す
ようやく本題。パンチでモノを壊すプログラムを、3回目のパンチで壊れるように改造します。それにはANDノードンからの出力をカウントするノードンが必要です。
カウンターノードンを呼び出し、ANDノードンをカウンターノードンの増やすポートに繋ぎます。これでANDノードンが1.00を出力した回数をカウントする仕組みになります。
カウンターノードンを数つきモノに繋ぎ、増える数が表示されるようにしておきましょう。
次はカウンターノードンのカウントを「3」と比べるプログラミングです。
3の定数ノードンと、=のくらべるノードンを呼び出します。=のくらべるノードンは上下の入力ポートに入力される数が同じになった時にシグナルを出力します。
- 定数ノードンをくらべるノードンの上ポートに繋ぐ
- カウンターノードンをくらべるノードンの下ポートに繋ぐ
- くらべるノードンをモノを壊すノードンに繋ぐ
これで3の定数とカウンターノードンのカウントが同じ数になった時、くらべるノードンがシグナルを出力し、モノを壊すノードンが数つきモノを壊すプログラムの完成です。
ゲーム画面の数つきモノにはパンチが当たった回数が表示されます。その数が3になった時、ゲーム画面からは見えませんが、くらべるノードンの条件が揃ってシグナルを出し、モノを壊すノードンが数つきモノを壊します。
プレイヤーからはパンチ3回で数つきモノが壊れたように見えます。
最後に
最後に3回パンチしたらモノが壊れる仕組みの要点をまとめておしまいです。
- 触っているセンサーをヒトの正面にれんけつする
- 触っているセンサーとパンチするための入力をANDノードンに繋ぎ、2つが揃った時にシグナルを出力するようにする
- ANDノードンが出力した回数をカウンターノードンで数える
- 3の定数とカウントをくらべるノードンで比べ、「=」の時にシグナルを出力するようにする
- 数つきモノと連結したモノを壊すノードンに、くらべるノードンを繋ぐ
プログラミングしたノードンたちがどういう風に働いているか、想像しながらゲームを動かしてみてください。
以上、ノードンガイド「3回パンチしたらこわれるしくみ」の内容と解説でした。
ノードンガイドの一覧はこちら。
本記事に使用しているゲーム画像や著作権および商標権、その他知的財産権は、当該コンテンツの提供元に帰属します。© Nintendo
コメント