これまた久々の更新(ライブラリの紹介)

忙しいってのを言い訳にしてはいけないと思うんですがネタも特になくて更新してませんでした。

以前から公開してるzz.jsというスマホ向けHTML5ライブラリなんですが、
だいぶまともになったので改めて紹介してみます。

https://bitbucket.org/ta2xeo/zz.js/wiki/Home

いわゆる昨今よく見るスマホ用ゲームライブラリです。
元々勉強で書いてたんですが今は仕事でも使ってます。

ActionScript3のクラスをパクっててAS3を触ったことがある人にとっては理解しやすいです。
まぁこの手のライブラリは山ほどあるんですけど。
車輪の〜とか言わない。

最近は一つのcanvasタグに描画してるのも増えて来ましたが、
これは一つ一つのオブジェクトがdivコンテナを持ってるので個別にcssが指定出来ます。

超手抜きですが以下サンプル

http://ta2xeo.bitbucket.org/zz.js/sample/

いろんな端末で動作検証しててやっと目立ったバグもなく動くようになりました。
Androidの一部の端末でcanvasがうまくクリアされない問題とか。
Androidのバグが酷いんですよマジで。

これ系の有名なやつでCreateJSがあると思いますがあれは海外製ですし日本の端末でちゃんと検証されてないと思います。
これは日本人ですし検証してる端末も某3大キャリアの物なのでその辺はだいぶ安心出来ると思います。(ドヤァ
とは言え、あっちはユーザー多いしすぐパッチも当たると思いますが。

ちなみにパフォーマンスはそれほど優れているとは言えません。
端末の問題とも言えますがF-11Dとかカックカクです。
一部のこういう変なクセのある機種に関してはぶっちゃけどうにもなりません。ホントに。

実際のところ大体の機種(二年前とかの機種)はそれなりの描画でFPS20以上は出ます。
ソシャゲの演出なら恐らくFPS12とかで作ってるでしょうから問題ないレベルだと思います。

ちなみにこのライブラリの特徴として各Stage毎にFPSが設定できるので
「表示物の少ないStageはFPS24を設定」「重そうなアニメーションにはFPS16を設定」
なんてことも出来ます。複雑なアニメーションでどうしてもFPSを落とさざるを得ないなんて時はこういったやり方で対処出来るかもしれません。
仕事ではそのテクニックを使ってます。

今後の展開ですがサンプルコードをちゃんと書くのと、あとはUI周り。今はタッチ拾うくらいしか機能として用意してないのでコントローラー的な物を作りたいなー。

後悔してるのはイベントリスナーのthisが自身のオブジェクトで固定になっているところ。ここは自分で指定出来るようにするべきだった。

まー、ここを変更すると動かなくなるので変更するにしてもメジャーバージョンアップ時くらいしかなさそう。