Crafty のバグっぽい

Javascript によるゲームエンジンの一つ Crafty というのを使ってゲームを開発しています。
そこで、バグっぽいのを見つけたのでここにメモしておきます。

もしかしたら、すでに分かっているけれども未対応というだけなのかも知れません。
次のCraftyのバージョンアップリリースでもしもこれがおかしなままだったら、バグレポートの提出を検討します。

なお、今私が調査しているのは crafty 0.6.2 です。

さて、先日もこのブログの記事にしたとおり、Craftyでは、PCとモバイルとで、異なったCSSを使用する仕様となっています。

具体的には
crafty.js の 12,188行目から
if (Crafty.mobile) {

} else {
elem.position = "relative";

}
というコードがあって、ここでモバイルかどうかによって、positionの値にrelativeを入れたり入れなかったりしているわけです。

が、私がソースを読む限りでは、確かにこのifブロックには意味があるのですが、else には意味があるとは思えないのです。
というわけで、 else { と } を取り払って、モバイルであろうとなかろうと、elem.position = "relative" 以降の行が有効になるように書き換えてみました。

すると、何の問題もなく、PCでもモバイルでも、アプリが動作するようになったのです。

何かの間違いでelseを書き足してしまっただけじゃないのかな、と今は強く思っているのですが。

Crafty の Forum が活発すぎて、この問題が把握されているかいないのか調べるのがあまりに大変だったため、今のところはここにメモしておくにとどめて、冒頭にも記したように、今後の動きをみて対応を考えたいと思っています。

"Crafty のバグっぽい" へのコメントを書く

お名前
メールアドレス
ホームページアドレス
コメント