◆ Canvas の表示周りが扱いにくすぎた
   ◆ RPGやノベルゲームにあるようなテキストボックスと選択ウィンドウ作るのですら簡単にいかない 

前にゲーム系のライブラリ調べた記事を書いてた気がしますが かるーく phina 使ってみました

期待して使ってみたのですが




……



…………




……………………




使いづらい!


基本的には 悪く無いのですが canvas にテキストや図形を表示するときに思い通りの動きをしないで バグか仕様かわからないようなものが多く 扱いづらいです
内部的な計算などは全部作ってしまって最後に表示部分を作っていて これだったのでショックが大きいです

せっかく作った部分もあるので ここでやめるのももったいないけど ソース見て動き調べながら コード書いて さらにオプション変えてもできないところは自分で無理矢理やることになりそうで 普通の canvas を直接使ったほうが楽なんじゃないかなと思い始めるくらい

バージョンがまだ 0.2 なので仕方ないところも多いですが サンプルにあるようなスマホで簡単に操作する程度以外はまだ向いてないと思います

実際ドキュメントが ほとんどなくてサンプルがドキュメントみたいな状態ですし サンプルに使われてない機能や使われてないオプションはちゃんと動く保証がないと思ったほうが良さそうです

自分で canvas を楽に使えるようなものを作ろうかと少し作り始めて もうこれ phina やめて別のライブラリ使ったほうがいいんでは と思い始めました


ただ 表示部分以外は いいところもあります
まずソースが読みやすいと思います
ほとんどソース見て機能把握になるので ドキュメントがあってないものにはけっこう重要

あとフレーム制御などの面倒な部分をやってくれます
毎フレームの更新処理や最初にすることを関数定義しておくだけでいいです

それとアニメーションしてくれる tweener
ゲームというと毎フレーム表示するものを計算して更新すると作りだと思っていたのですが phina ではオブジェクトにアニメーションを設定しておくことができます

ただ init で設定して keydown でアニメーション以外のところを操作するという 普通の DOM 的な使い方ならよさそうですが キャラクターの動きみたいな update での操作によって色々と変わるものには使うのは難しそうです
背景のずっと繰り返し動いてる物とか用 でしょうか



一番思ったことは DOM + CSS でやるのが一番楽
これが一番使いやすいので canvas を更新するより簡単なんですよね
3D 使うとか canvas じゃないと困ることがないなら canvas を使わないでも良さそうです



1.0 がリリースされる時が来たらまた使ってみようかと思います