J-GAME-便利なアプリ&サービス
ツクールMvでアクションゲーム
今回は、ツクールでの〇ンバーマン風のアクションの作成方法を記載していきます。まずは主人公の向きに合わせて爆弾を置くイベントを作成します
キーをトリガーにしたり、ピクチャをゲーム画面に表示してソレをトリガーにしてもいいと思います。そこからまずはコモンイベントを呼び出すようにしましょう。
コモンイベントの内容はまず最初に
条件分岐で(スイッチを作成主人公無敵状態)ONの時はコモンイベントを終了するようにします。
次の行には、主人公無敵スイッチをONにします、連続操作を不能にするため
続いて(格納変数1を作成して)これにイベントコマンド主人公のx座標を入力(格納変数2を作成)こちらには主人公のy座標を入れます
続いて主人公の向きに合わせて爆弾の設置する位置を決定します。
イベントコマンドで条件分岐、主人公の向きで分岐を作ります
上の時は格納変数2をー1、右の時は格納変数1を+1、左の時は格納変数1をー1、下の時は格納変数2を+1にします。
続いて設置可能場所を簡単に設定できる方法でリージョン値を使用します。イベントコマンドの指定位置取得を使用して対象位置のリージョン値を取得します。指定座標位置取得、リージョン、格納変数1(x)格納変数2(y)コレを(対象という変数を作成)して、リージョン値を格納します。リージョン0の場合の設置できるようにするには、条件分岐で対象=0の内部にイベントコマンドを入れていきましょう。イベントコマンドの中身は、設置場所xと設置場所yという変数値を作成し、それぞれの値に格納変数1と2を格納します。条件分岐内部に最後に主人公無敵スイッチをOFFにして、設置イベントは完了となります。(独自にクールタイムや設置可能個数など決めたい場合はココで設定しましょう)。続いて爆弾を表示する設定を行います。
この設定を行う場合トリアコンタン様のプラグインを使用します
プラグイン名:イベントの動的生成プラグイン
プラグインを導入したら、爆弾を置けるMAPを作成していきます
イベントを作成して、(MAP画面外等に作ってください)並列処理にします。イベントの内部を作成していきましょう。まず最初に条件分岐で、設置場所x=0の場合はイベント処理の中断を行ってくださいださい次にMAPの中の見えない位置に爆弾のイベントを作成しておきます(今は設置だけなので中身は空で大丈夫です)プラグインコマンドでERS_生成 爆弾 12 13と入力しましょう。このプラグインでは座標を変数で指定できないので、プラグインの内部を開き、var event = new Game_PrefabEventこの内部の値を
Xとyそれぞれを書き換えます、$gameVariables.value(設置位置xの変数の番号)、(設置位置yの変数の番号)
最後に設置位置xとyそれぞれの値を0にします。これでプレイヤーが動作を行ったときに、プレイヤーの手前に爆弾を置くというイベントの完成となります。
次では、爆弾の内部の処理を記載していきます
アクションゲーム作成(爆弾内部)
爆弾の内部処理イベントを作成していきます。
その前に先ほどの並列処理のイベントに付け足しします(次元性を作る為)
プラグインコマンドでERS_最終生成イベントID取得 9を先ほどのプラグインコマンドの下に記載します。内容は生成したイベントのIDを変数9番に格納するです、変数値は自由に変更してください
その下にスクリプトを記載します。
var targetID = $gameVariables.value(9);
var mapID = this._mapId;
$gameSelfSwitches.setValue([mapID, targetID, "A"], true);
この処理では最後に生成したイベントのセルフスイッチAをONにするという内容になっています。これで並列処理側のイベントは完成となります。爆弾んイベントの内部はページ1は画像も中身も空にします。ページを追加してセルフスイッチAがONの時と結び付けます。追加したページ2は画像を爆弾にして、並列処理にします。内部のコマンドはウェイト処理を利用して画像を透明度設定で徐々に透明にしていきます。これが発動までの時間になります。透明処理だけじゃなくカウントダウンを表示するのもいいですね。コマンド内部の続きは、爆発の設定をします、先ほどの爆弾設置と同じような形式で爆発も作っていきます、変数を作成(爆発位置x&爆発位置y)それぞれの値にイベントコマンドでこのイベントの座標というのを取得してxとyそれぞれ格納します、爆発位置のx、yの値を調節して爆発場所を指定してください。
一旦ここで、もう一つイベントを作成します(このイベントもMAP内の見えない位置に作るといいです。)このイベントは爆発です。並列処理に設定して爆発の画像(キャラチップ)に指定します。内部はウェイト処理を使用して時間経過で消えるようにします。爆発の炎の設定はこれで終わりです。先ほどのイベントに戻り、爆発位置の調整した座標の対象IDを取得しましょう、イベントコマンドは、指定座標位置取得、対象、爆発位置1(x)爆発位置2(y)コレで爆発位置の対象イベントIDをしていますので、この値が0の場合はその場所にイベントがないという事になりますので対象=0以外とい条件分岐を作成します。この条件分岐内部に
var targetID = $gameVariables.value(対象として作った変数値);
if(targetID != 0 && ~$dataMap.events[targetID].note.indexOf("[対象者]")){
 var mapID = this._mapId;
if(!$gameSelfSwitches.value([mapID, targetID, "B"])){
$gameSelfSwitches.setValue([mapID, targetID, "A"], true);
}
}
コチラのスクリプトを記載します、内容は爆発位置のイベントのセルフスイッチAをONにするです、コレで爆発の設定も終了となります
爆発で消滅するイベントを作成する
最後に爆発で消滅するイベントを作成していきます
こちらの作成は単純に通常のイベントを作成して、ページ2に並列処理を使用します、トリガーはセルフスイッチAがONの時とします
内部処理はイベントが消滅するように見せるイベントを作りましょう透過処理を利用するもよし、アニメーションを表示するもよしです
最後にイベントの一時消去のコマンドも忘れずに入力しましょう
消滅してもイベントはその場に残ってしまうのでこのイベントの位置指定で画面の隅っこにでも移動しておきましょう
コレで爆弾を設置して爆風でイベントが消えるという処理が完成します。あとは色々アレンジ&演出を足してみてください、これだけで簡単な〇ンバーマン風のゲームが作成できます。
inserted by FC2 system