« 【ニコニコ動画】【第11回MMD杯本選】ルパン三世VSアイドルマスター | トップページ | ゲームオーバーと同時にレベルアップする問題2 »

2013.08.20

ゲームオーバーと同時にレベルアップする問題

| |コメント (0)|トラックバック (0)

 このエントリーをはてなブックマークに追加

昨日、調べる予定だったのだが、
ちょっと別のことをやってて時間が取れなかったので
あむさんより指摘のあった
ゲームオーバーと同時にレベルアップするとおかしくなる
というのを今日、調べてみた。


Screenshot0109

こんなかんじでゲームオーバーのメニューと
レベルアップの文字が出て
この状態で決定ボタンを押すと
ゲームオーバーメニューでリトライを選択したことになり
マップの入り口にミクが移動した状態で
レベルアップの文字列が出ていることに・・・

最初は、内部で持っているゲームモードがゲーム本編でない時は
レベルアップチェックをやらないようにすれば良いと思っていたのだが
それだと、ゲームオーバーメニューとレベルアップのメッセージが
同時に出ないだけでリトライ直後にレベルアップするのは変わらない。

実は、プログラム内では、魔法のネギと敵との当たり判定と
ミクと敵/ミクと敵の弾の当たり判定は、同じ関数の中で行っている。

それぞれ当たりと判定されると
・敵を消して経験値取得
・ゲームモードをゲームオーバーにする
という処理をしているのだ。

なのでゲームオーバーモードでレベルアップ通知をしなくても
既に経験値は取得済みなのでレベルアップ判定でレベルアップしてしまう。

このため、ゲームモードの判定に加えて
当たり判定関数に入った時の経験値と
ゲームオーバーモードにした段階での経験値を比較して
値が異なっている場合、当たり判定関数に入った時の経験値に戻す
ということをしないとダメっぽい。

タイミング的に確認が難しいので
今後もこういう微妙なタイミングの確認用にちょっと
ゲームのデバッグ機能を拡張して確認しようと思う。

遅くとも週末には、確認できるようにしようと思う。


 このエントリーをはてなブックマークに追加

| |コメント (0)|トラックバック (0)

このエントリーへのリンク

このエントリーのリンクを入れるHTML:

トラックバック

この記事へのトラックバックの一覧です: ゲームオーバーと同時にレベルアップする問題:

コメント

このブログの新着コメントをRSSリーダに登録する為のxml




←名前とメールアドレスは必須です。
URLも記入すれば、URLのみが公開されます。
メールアドレスのみですと、メールアドレスが公開されてしまいますので、御注意ください。

↓コメント本文では、「a href」「b」「i」「br/」「p」「strong」「em」「ul」「ol」「li」「blockquote」「pre」のタグが使えます。絵文字をクリックすると、本文にタグを挿入できます。