「壁蹴りジャンプ」と聞いてピンとこない人にはどう操作すればいいのか、説明がむずかしいのでまずはムービーでごらんください。
実際のFlashサンプルはこちら。ゲームコントローラーを使わないとちょっと操作しづらいかもしれません。
カーソルキー左右:移動
X:ジャンプ
というわけで、今回は「壁蹴りジャンプ」。以前にジャンプの基本を解説しましたが、今回はそれをふまえた応用になります。
いちどに説明すると長くなります。最初から順に見ていきましょう。
まず動作プログラム「ジャンプ」と「落下」に、それぞれ[次の動作プログラム]として「壁蹴り右」「壁蹴り左」という動作を用意することからはじめます。
切り替わる条件は方向ボタンと[壁にぶつかった]チェック。上の画像の通り、「ジャンプ」中に右ボタンを押したまま壁にぶつかれば「壁蹴り右」に、左ボタンを押したまま壁にぶつかれば「壁蹴り左」に切り替わるわけです。
逆方向でも同じように、「ジャンプ」中に左ボタンを押したまま壁にぶつかれば「壁蹴り左」に……と切り替わります(以下、右方向についてだけ説明しますが、基本的に左右を逆にするだけで変わりはありません)。
では、その切り替わり先「壁蹴り右」について詳しく見ていきましょう。
まずこの動作中の[詳細]ですが、[移動速度]ゼロ・[ジャンプ速度]ゼロの[移動方向を指定しない][ジャンプ]というなんだか変わったことをしています(画像)。
壁にくっつく以上、移動しないのはなんとなくわかりますが、それにしても念が入りすぎと思うかもしれません。実はこの動作で直前までのジャンプ速度や方向をリセットしているのです。リセットしておかないと、壁にぶつかる直前のジャンプ速度が次の動作にそのまま継承されます。具体的には、このあと壁から離れたときに意外なスピードで落下したりしてしまうのですね。そういうことを回避するために、ここでいったんジャンプ関連のパラメータをリセットしているわけです。
「壁蹴り右」から切り替わる動作プログラムには何が必要でしょう。
最初に動作プログラム「待機」に戻すパターンを想定しています動作プログラム「待機」に戻すパターンを想定しています(画像)。あんまりないことではありますが、壁にくっついたちょうどその位置がたまたま床にも接していたときの保険ですね。
次は、動作プログラム「落下」に切り替わる条件(画像)。これも単純に、壁にくっついている右ボタンを放したら「落下」という条件です。
最後のひとつ。ジャンプボタンを押したら、お待ちかねの新しい動作プログラム「壁ジャンプ右」に切り替わります(画像)。
ここでもちょっとテクニカルなことをワンクッションはさんでいます。
画像を見てください。右向きに壁にくっついていた状態からジャンプするときは、左向きに……そこまではわかりますが、[ジャンプ]をしなくていいの? という疑問は当然でてくるでしょう。
実はこの動作プログラム、一瞬で次の動作プログラムに切り替わる、パラメータ調整のためだけの動作プログラムなのです(画像)。
前の動作ですべての速度をゼロにしてあったので、ここであらためて速度と方向を設定しなおしているんですね。設定したら即座に次の動作プログラム「壁ジャンプ右(左へジャンプ)固定ジャンプ」に進みます。
動作プログラム「壁ジャンプ右(左へジャンプ)固定ジャンプ」。
長い名前ですが、ゲーム中の感覚で言いかえると〈右手の壁につかまった状態から、ジャンプで左に飛び出しているあいだ〉になります。
最初のFlashサンプルをもう1度さわって操作感を確かめてみるとわかりやすいかもしれません。壁からジャンプしたかと思うと瞬間的にまたおなじ壁にくっつかれる、という操作をされるとつごうが悪いので、しばらく(ちょっと)の間、動きを単純に〈逆方向へのジャンプ〉に固定させています。固定のしかたは左の画像の[動作の詳細]にある通り。
固定すると同時に、固定時間が終わったらジャンプ中の方向転換ができるようにします。[一定時間経過した]を条件に動作プログラム「壁ジャンプ方向自由」に切り替えるわけですね[一定時間経過した]を条件に動作プログラム「壁ジャンプ方向自在」に切り替えるわけですね(画像)。
もちろんそれ以外にも、ジャンプボタンを放したりジャンプの頂点まで達したりして自由落下する、という場合もあります。この条件で切り替える動作プログラムは「壁ジャンプ解除」(画像)。
この2つの動作プログラムについて、ひとつずつ解説しておきましょう。
左の画像が動作プログラム「壁ジャンプ方向自由」です。
さっきまでと違って移動方向を指定していないので、方向キーによって左右移動ができるのがポイント。
操作感自体はジャンプですから、ジャンプボタンを放したりジャンプの頂点まで達したときにはやっぱり動作プログラム「壁ジャンプ解除」に切り替わります(画像)。
動作プログラム「壁ジャンプ解除」はその後の動作プログラム「壁ジャンプ落下」とワンセットになっています。
まず「壁ジャンプ解除」でそれまでのジャンプの勢いを殺して(画像)、終わりしだい次の動作プログラム「壁ジャンプ落下」に切り替えます(画像)。
「壁ジャンプ落下」は通常の「落下」動作プログラムとあまり変わりません。移動速度が速くなっているのがポイントです(画像)。「落下」と同じでもいいのですが、感覚的にしっくりきそうなのでこんな風になっています。
落下中に壁にくっつけるように、動作プログラム「壁蹴り右」に切り替える条件をつけるのを忘れずに(画像)。
これで最初から最後までの処理は終わり。あとは着地するか、壁にくっついて最初からやりなおすかです。
だいぶ長くなってしまったので、サンプルファイルで確認しながら処理を確かめるのもいいですね。
ここまでのサンプルが入ったgpdファイルのダウンロードはこちらから。
利用方法
ダウンロードしたファイルは圧縮されていますので、各種解凍ソフトをお使いになって解凍してください。解凍したフォルダ内にある、拡張子が“gpd”のファイルがアクションゲームツクールのプロジェクトデータです。このファイルを、プロジェクトデータを収めているフォルダ(デフォルトでは[マイ ドキュメント](Windows Vistaでは[ドキュメント])→[ACTkoolData])に入れ、アクションゲームツクールの[続きから]で読み込んでご利用ください。
サンプルデータに関するご注意
このサンプルデータはスマイルブームが独自に制作したものです。データについてのお問い合わせは、スマイルブームの担当メールアドレス(下記)宛にお願いいたします。
tkoolsupport@smileboom.com