もぐらたたき前編

 アイデアが煮詰まらないので、もぐらたたきでお茶を濁すの巻

ボタンの応用

 画像ボタンを使ったサンプルゲームとしてもぐらたたきを作っていきます。

素材

 画像はキャラチップから正面停止を切り抜いて使用します。
  

ユーザーデータベース

 ゲーム内で値の変化しない情報を格納していきます。
 今回はもぐら役の名前、画像ファイルのリンク先および得点を格納していきます。

 ファイル名の指定は、特殊設定をしておくと便利です。画像を入れたフォルダを初期フォルダの指定で選択しておくとさらに便利です。

 データは3種類。

 <参考>ウルファールさんのデータはこのようになっています。

可変データベース

 ゲーム内で値の変化する情報を格納する領域です。
 今回はタイプ0にスコア、タイプ1にもぐらの状態を格納していきます。
 

タイプ0:スコア


 ゲーム中、もぐらの状態は以下のように変化します。

 もぐらのいない状態を『-1』で指定します。以上をデータベースに収めると以下のようになるかと思います。

 もぐらの状態の初期値は-1としておきます。

 もぐらの状態の設定です。先に作ったユーザデータベースを指定して、もぐらがいない状態に相当する『-1:なし』を追加しておきます。

ゲームの流れ

 ゲームの流れは以下のようになります。

 上から順番に製作を進めていきます。

データベース初期化

 タイプ内容の設定時に入力した初期値で上書きします。今回の例ではすべて-1=なしにセットされます。データが多くて、初期値の調整中に重宝すると思います。

画像初期化

 ピクチャ10~18をウインドウ、ピクチャ20~28をキャラクタ画像に使用します。

 セルフ変数10番にループカウンタ、20番にピクチャ番号、21番にX座標、22番にY座標を代入しています。

 ここまでのテストプレイで以下のようになります。

 現在はテストのため不透明度255でピクチャを作成していますが、ゲーム開始時はすべて『なし』の状態なので不透明度0で初期化することになります。

残り時間初期化

 ここでの残り時間は、ゲームスタート時から始めてもぐらが出現するまでの時間を示しています。
 1秒から2秒くらいの乱数を代入しています。

 1秒30フレームにしたので、開始時間は30フレームから60フレームの間の乱数となります。

※説明のため、画像の初期化と残り時間の初期化を別ループでまとめました。

残り時間確認

 初期化は終わったので、いよいよゲームのメインループです。

 残り時間の確認の処理をコメントにすると、以下のようになります。

 コメントに処理を割り当てると以下のようになります。フライングですが、ウインドウ用ピクチャの処理も追加しています。

 ピクチャは『移動』を選択して、座標は相対モード(0,0)、表示する場合は不透明度255、隠す場合は不透明度0をセットします。

 次の項目を終えてからの方が見栄えがよいので、今回のテストプレイはスキップします。

もぐらの表示・非表示

 ピクチャ20~28を使用して、もぐらの表示・非表示処理を追加します。

 セルフ変数30番にもぐらのピクチャ番号、31~32番に表示座標XY、33番にもぐらの状態を代入します。もぐら画像のファイル名はもぐらの状態とユーザーデータベースから取得します。

 もぐらピクチャはウインドウピクチャと異なり再利用しないので、消去にしました。消える時になんらかのアニメーションを加えるのであれば『移動』を選択することになります。

 テストプレイをすると以下のようになります。

 ここまでで、叩く以外のイベントの作成ができました。予想以上に長くなってしまったので、前後分割します。