アイテムショップ
今日からアイテムショップを作ろうと思います。
本来ならもっと早くショップ部分にとりかかれるはずだったけど。
WEB版の方で不具合というか、仕様というかのバグフィックスに手間取っていたので、遅々としてすすまなかったのです。
もちろんウィンドウズ版の方は完全に動作するんだけどね。
その仕様というか不具合は、HTML5のキャンバスの中(ゲーム画面を表示するところ)からマウスカーソルが飛び出ると一切ゲーム側からアクセスできなくなる。というもの。
何をクリックしてるとか、今の現在のカーソル座標がゲーム側から取得できないのだ。
これはマニュアルなんかにはどこにも書かれてないけど、コミュニティーではこの情報が何件かあったので既知の不具合というか仕様なんだろう。
しょうがないのでジャバスクリプトから座標は取得。
さらにクリック状態も取得したけど、どういうわけかキャンバスのなかでクリックしたままキャンバスから飛び出すと、その後キャンバスに戻ったときにクリックしていないにもかかわらず、クリック状態を復元してしまうのだ。
キャンバスの中でクリック→キャンバスの外でクリック中止→キャンバス戻ったらなにもクリックしてないのにクリックしっぱなしになる。
おまけにマウスのクリック状態をクリアする関数もなぜか機能しないスペシャル仕様。
しょうがないので入力全体を完全クリアする関数を使用すると一瞬クリアされるけど、すぐに復元され。実際にマウスをクリックするまでクリック状態は変になったまま。
一度ゲーム画面というかキャンバス内でクリックするかクリックボタンを離せばすぐに元に戻るんだけどね。
対策も尽きて最後の手段でキャンバスに戻って2秒間、マウスクリック状態をクリアし続けるものの、期限が切れるとクリック状態が復元され、結局一度は本物のマウスでクリックしないとマウス状態がおかしなままだった。
ここに至ってもうゲーム中の変数でなんとかするしかないと一瞬思ったけど、ウィンドウズ版がきちんと動作するのにWEB版のバグフィックスに時間が掛かりすぎてるので、WEB版のこの不具合は放置する事に決定しました。
そのうち対策を調べてみようと思います。
なので今日からようやくショップ作りです。
最初はさらっと簡単な物を用意して、そのシステムの良くない所を変更したり、拡張していく方針で作ります。
ではまたね。