前回、ストーリーの紹介をしましたが、そこで触れていなかった細かい仕様について紹介していきます。就職活動により、今日をもって一週間に一度の投稿を停止したいと思います。不定期でも投稿を継続して、4年次の卒業研究につなげたいと考えています。
キー操作停止のflagについて
宝箱に入ったシイタケ入手するとき、宝箱から空箱に画像に変更をします。
↓
この時、宝箱を開けた1秒後に「シイタケを手に入れた」と表示させてから、宝箱を空箱である85に配列を変える処理をします。しかし、「鍵をつかって宝箱を開けた」と表示された後から1秒後の「シイタケを手に入れた」と表示される間の1秒以内にキー操作をしてしまうと…
本来、宝箱に上書きしたいところ、移動先に書かれてしまうというバグを見つけました。そこでキー操作を停止させるためflagでの管理をしました。通常をfalseにしておき
var stopKey = false;
キー操作にかかわる関数を
if (stopKey == false) {
var dx = px, dy = py;
falseでしか動かなくしておき、止めたいときにはstopkeyフラグがtrueにしてキー操作の関数の発動を止めました。
これを活用して
シイタケ入手イベント(宝箱)が発動したときにstopkeyをtrueにして移動を制限、1秒間の処理が終わり、空箱を上書きした後にstopkeyを再びfalseにすることでバグを修正できました。


