今回つくるゲーム
難易度
今回はスマブラ風の格闘ゲームをの続きを作っていきます。前回はおじさんキャラクターの動きを作りましたが、今回はおばさんキャラクターの動きを作り、さらに攻撃をうけるとHPを減らしていきます。また新しい技、「頭突き」も出せるようになっています。
以下が今回つくるゲームです。AとDで移動、Wでジャンプ、Rボタンでパンチ、Tボタンでファイヤー、Yボタンで頭突きが出せます。
準備
前回の記事、スマブラ風格闘ゲームの作り方(その1)から作っていただくか、こちらをリミックスしてください
キャラクターの動きをコピーする
おばさんの動きは基本的におじさんと同じ考え方になります。ですので、おじさんで書いたコードをコピーすればいいのですが、スクリプト(コードのかたまり)が非常に多いのでバックパックを使って移動させていくのはとても大変です。今回は、おじさんのスプライトごとコピーして、おばさんのコスチュームを差し替えていくことにします。
まず、おばさんのスプライトのキャラクターをすべてバックパックにつめこみます
次に、おじさんのスプライトを右クリックして複製を押します。そうすると、おじさん2というスプライトができます。
おじさん2のスプライトのコスチュームをすべて削除して、さきほどバックパックに詰め込んだおばさんのコスチュームに差し替えます。
もともとのおばさんのスプライトを削除し、おじさん2のスプライトの名前をおばさんに変更します。
次に、波動拳の動きをファイヤーにコピーしていきます。波動拳のコードは複雑ではないので、波動拳のコードをバックパックにつめてファイヤーにコピーしていきます。
これで準備完了です。
おばさん用の動きにカスタマイズ
このままでは、おじさんとまったく同じ動きになってしまいますので、おばさん用の動きにカスタマイズしていきます。
まず、左右の動きは、右向きはDボタン、左向きはAボタン、ジャンプはWボタンで動かすようにします。また最初の位置も右端の方で左向きに変更します。(おじさんとサイズが違うので、Y座標の初期値も変更しなければなりません)
次にコスチュームを変更する部分を変更していきますが、ここで変更しなければならないのは左右のキーの部分だけです。
最後にパンチと波動拳の部分を変更していきます。パンチはRボタンに変更します。おばさんは波動拳ではなくてファイヤーを出すようにしますので、下のように、新しい定義を作って書き直します。
続いて、ファイヤーのスプライトのコードも変更していきます。下図のように、ファイヤーを出すを受け取ったときにおばさんの場所に移動して、おばさんの向きに向けて発射します
これでおばさんの動きが作れました。実際にA(左)・D(右)・W(ジャンプ)・R(パンチ)・T(ファイヤー)のボタンを使って動かしてみてください。
技を追加する(頭突き)
これだけでは、おじさんと同じ技なので、せっかくなので頭突き技を追加してみます。
頭突きはキャラクターが進行方向に横になって飛んでいく技ですが、パンチのようにコスチュームを変えて、キャラクター自身を飛ばしてしまうと前回の記事で紹介した重力の影響を受けてしまいます。
ですので、頭突きのスプライトを新たに作成して、そのスプライトを飛ばすようにします。
まずは、頭突きのスプライトを作るために、歩く1のコスチュームをバックパックに詰め込みます。
右下のネコのアイコンから描くを選び、新たに頭突きのスプライトを作成、バックパックの歩く1を取り出します。
歩く1のコスチュームをベースに以下のような頭突きのコスチュームを作成します。
コスチュームの作り方は、自分のキャラクターを作ろうの記事を参考にしてください。
次にコードを書いていきます。まずはおばさんのスプライトの技のブロックに以下のように頭突きの指示を追加していきます。Yのボタンを押すと頭突きが出るようにします。頭突きを出すの指示を送った後に、一旦おばさんを隠します。おばさんを隠して、その代わりに頭突きのコスチュームを表示するということです。
次に、頭突きのスプライトに以下のように指示を書いていきます。頭突きを受け取った時に、ファイヤーの時と同様におばさんの場所へ行って、おばさんの向きに向けるのですが、このままだと、上下に反転してしまうので、回転方法を左右のみにするという指示も追加しておきます。
また、端に触れた、もしくは、おじさんに触れたら、頭突きが終了して、頭突き終了のメッセージが送られます。そして、このスプライトを隠します。
最後に、あらためておばさんのスプライトに戻り、以下のように、頭突き終了を受け取った時に、
頭突きの場所に移動して、表示させる、という指示を加えます。
これで、おばさんの頭突きの完成です。実際にYボタンで頭突きを出してみましょう。ジャンプしながら頭突きをすると、ジャンプの高さで頭突きが出ます。
HP(ヒットポイント)を追加する
最後におじさん、おばさんそれぞれのHP(ヒットポイント)を追加していきます。最初にそれぞれHPが100ずつあり、波動拳かファイヤー・頭突きを食らうと−10、パンチを食らうと−20というように設定します。以下のようにおじさんとおばさんのスプライトにコードを追加していきます。
HPをマイナスしたあとに1秒待っているのは、食らっている間ずっとHPが減るのを避けるためです。
実際に、おじさんとおばさんを操作して攻撃しあってみてください。HPが減っていけば成功です。
さらに、HPがゼロになったときに勝者を表示するなどいろいろと工夫してみてください。
今回のプログラムはこちらから確認できます。
次の記事ではさらに格闘ゲームっぽくするために、体力ゲージをつくっていきます、是非そちらもチャレンジしてみてください。ペンの機能を使って、下図のような体力ゲージをつくることができます