見出し画像

[はじめてゲームプログラミング] アニメーションさせる方法

任天堂Switchの「ナビつき! つくってわかる はじめてゲームプログラミング」
アニメーションさせる方法についての説明です。

タイマーノードンを使用し、0.1秒ごとにテクスチャを切り替えていくロジックとなります。切り替えはタイマーの仕組みがポイントとなってきますので、タイマーノードンの仕様についても説明していきます。

アニメーションロジックの仕組みについて

アニメーションロジックは、主にタイマーノードンとテクスチャノードンを使用していくので、これらのノードンの説明をしつつ解説していきます。

アニメーションロジックの全体イメージ

アニメーションは複数のテクスチャを切り替えるだけ

アニメーションは、パラパラ漫画のようなイメージで、絵を書いたテクスチャを複数用意し、それらのテクスチャを順々に切り替えていくことで、アニメーションを実装します。

テクスチャの表示非表示タイミングのおさらい

テクスチャノードンに1で入力されると、該当テクスチャが表示され、0で入力されると該当テクスチャは非表示となります。


この仕組みを利用し、用意したテクスチャの数分タイマーノードンを用意し、テクスチャノードンに入力される01をコントロールしていくことで、アニメーションを実現していきます。

タイマーノードンのおさらい

「何秒後に出力するか」は、タイマーノードンが入力を受け取ったのちに、何秒後に出力するかを制御します。
「出力し続ける秒数」は上記で出力を開始したのちに、何秒間出力をし続けるかに使用します。

各種タイマーにおいて、どのタイミングで出力0、1となるかがポイント

実際の処理イメージについては、以下の図のとおりとなります。

作り方

A.スタートしたしゅんかん

B.タイマーノードン(初回表示用)

<設定値>
何秒後に出力するか:0
・0秒後に出力する。
・スタート開始直後に1つ目のテクスチャを表示したいのでので0とする。

出力し続ける秒数:0.1
・出力開始後に1つ目のテクスチャを0.1秒間表示させるので0.1とする。
・初回のみ、1つ目のテクスチャ、1つ目のテクスチャ、2つ目のテクスチャ、3つ目のテクスチャとなり、1つ目のテクスチャは2回表示されてしまいます。
(C.E.G.タイマーノードンをループ処理としているため。)

<入力ポート>
A.定数ノードンの出力と接続

C.E.G.タイマーノードン(ループ処理用)

<設定値>
何秒後に出力するか:0.1
・0.1秒後に出力する。
・0.1秒毎にテクスチャを切り替えたいので0.1とする。

出力し続ける秒数:0.1
・出力開始後に該当テクスチャを0.1秒間表示させたいので0.1とする。

<入力ポート>
C.タイマーノードンの入力ポート:A.定数ノードンの出力と接続
Eタイマーノードンの入力ポート:C.タイマーノードンの出力と接続
G.タイマーノードンの入力ポート:G.タイマーノードンの出力と接続
C.タイマーノードンの入力ポート:G.タイマーノードンの出力と接続

・G.タイマーノードンからC.タイマーノードンを接続することでC.E.Gタイマーノードンをループさせます。

D.E.H.テクスチャノードン

<設定値>
テクスチャノードンの設定の詳細については、ここでは割愛しますが、このサンプルの設定としては、D、E、Hのテクスチャノードンそれぞれに、X、Y、Zという文字をテクスチャに書くのみとなります。

<入力ポート>
D.テクスチャノードンの入力ポート:B.タイマーノードンの出力と接続
D.テクスチャノードンの入力ポート:C.タイマーノードンの出力と接続
E.テクスチャノードンの入力ポート:D.タイマーノードンの出力と接続
H.テクスチャノードンの入力ポート:G.タイマーノードンの出力と接続

直方体

<ふるまい >
みえる:OFF
当たる:OFF
動く:ON
こわれる:OFF
こわす:OFF

<連結ポート>
D.テクスチャノードンと接続
E.テクスチャノードンと接続
H.テクスチャノードンと接続

おわりに

アニメーションの作り方については以上となります。
ここまで読んで頂きありがとうございました!

以前、タイマーノードンの仕様をよくわかっておらず、適当にプログラミングしても上手くアニメーションさせることができませんでしたが、タイマーノードンの仕様を整理すると「出力し続ける秒数」の設定項目がポイントだということに気づきました!

アニメーションのようにテクスチャを一定期間表示を有効にさせる場合は、「出力し続ける秒数」は表示させたい秒数分設定し、60秒タイマーのようにタイマーノードンから1回出力させたい場合は、「出力し続ける秒数」を0にすることで実装することができます。

タイマーノードンを使用した、60秒タイマーの作り方については以下にまとめておりますので、もし良かったら以下も見て頂けると嬉しいです!



この記事が気に入ったらサポートをしてみませんか?