タオルケット体操

サツバツいんたーねっとでゲームとかガジェットのレビューとかをします

canvasってクソしんどいと思ったらCreateJSとかいうものがあったっぽいin Haxe

もはやCanvasを触ってみるだけでなんとなく価値があるアトモスフィアを出せた時期も今は昔、世間の関心は次世代のなんかに移ってひさしいですね?
ともあれ、HaxeたのしいしHaxeといったらtoJsなのでガンバロ!

* * *

さて、情弱noobマンの僕はCanvasについてなんてこれっぽっちも知らなかったのですが、とりあえずライフゲームを作ったことで気を良くして、今度はUI的なものを備えてユーザの操作にたいしてアレをする物を作ってみるべきなんじゃねぇかと思いました。

ところが、Canvasを調べてみると、APIが貧弱というか、描画したものもただの画でしかねェよ。といった案配で、つまり図形に対してイベントを定義するような、なんか作るにあたっては当然あって然るべき機能を備えていません。なんてこった。
一瞬、自分で作ることを考えましたが人生は有限です。ググってみたところいい感じにアレしてくれるライブラリがいくつかありました。その中でもAdobeイチオシっぽいCreateJSを選びました。なぜならHaxeで使っている記事がいくつかあったからです。

  

とりあえずなんか作って練習しようということで、なんか作りました。
マインスイーパです。 https://github.com/hachibeeDI/minesweeper_hx
READMEにあるリンクから gh-page に行って動作確認もできるんだね。

図形にイベントを定義して、座標を取得するような処理が書けるか確認出来れば良かったので題材的にもちょうどいいですね?
っていうか世の人達って、きっとこういうのは学生のうちに作っちゃったりなんだりしてんだよね。多分。
しかしまぁマインスイーパは、実装は簡単だけど、これをここからそれなりにゲーム的な感じにしようとするとまた面倒になるなぁ、面倒だからこれでいいやもう。でもやっぱ仕事って大変だなぁって思いました。

ちなみに、これを作る上で一番ハマったのは ColorFilter とかのクラスがminifyバージョンのEaselJSに含まれていなかったことで、しばらく調べた挙げ句、公式のQAに
Q「**とかの定義がみあたらねーんだけど?」
A「minifyバージョンにはそいつらは含まれてないよ^^」
というやり取りを見つけて怒りがマッハでした。

あとやっぱちょっと、HaxeはIteratorとIterableとArrayとListとかがマジわけわからん感じなのとLambdaモジュールが貧弱ゥなので、そこんところどうにかするライブラリを見つけるか自分で作ってかないとアカンと思いました。あとLazy Listほしい。

次は、CreateJSと、なんか重力の計算をよしなにしてくれるライブラリ使ってなんかアレしてぇなあとか思いました。 以上です。