Image の onerror でゲームループ作ってみる


色々調べものしてたら JSDeferred を高速化する (試し中) – 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 – subtech という記事に辿り着いて、その中で

setTimeout は interval を 0 に設定しても最低でも 10msec はかかってしまうため、next() や、それを使っている call(), loop() を何度も呼びまくるケースでは ブラウザが全くアイドルであっても 10msec * next() の回数分はかかってしまいます。
JSDeferred を高速化する (試し中) – 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 – subtech

とあって、気にした事無かったけど確かにそうだなという指摘があり、解決法として (new Image).onerror を使う、というお話になっていました。
Read more

Swiffy で Flash lite のゲームを JavaScript に変換してみた


Flash を HTML + JavaScript に変換する Google の Swiffy を試してみましたよ。

Flash Player 5 で動く程度のものだと変換が上手く行きやすいとの事だったので、手元にあった携帯用の Flash lite 1.1 用のゲームのファイルを変換してみたところ、ほとんどはアニメーションとしては動くけどロジックがちゃんと動かないものばかりでしたが、ひとつだけまあまあ動くかなというものがありました。10個試してみて、やっと1つ動いた、というくらい。

 

Flash lite 1.1 対応の携帯で動く元のSWF

こちら元ファイル。一度クリックして 5 キーで操作です。

Read more

Titanium mobile で Android の Service を使う


Titanium mobile で MP3 プレイヤー的なものを作る時、 Android だと特に何もせずに Titanium.Media.AudioPlayer とか Titanium.Media.Sound を使うとバックグラウンドで音がなってたんですが、Activity が殺されたかなにかで新たに Activity が立ち上がった時に、前になっていた音が止められなくなる事がありました。

通常の Android の作法はどんな感じだろう、と思って調べてみるとバックグラウンドのプロセスは Service が受け持って、 Activity はいつ落とされても良いように、あくまでも UI に徹するという事のようです。

KitchenSink を見てみたら Titanium mobile でも Service が使えるみたい。

KitchenSink の service の例
android_services.js
testservice.js

tiapp.xml に service を設定する
Update your tiapp.xml

で、下記の通り試してみた所、意図した通りに動くようになりました。もっと良いやり方があれば @tanusai までお知らせください。

Read more

桜田淳子 「サンタモニカの風」と吉川晃司「モニカ」のサビの両方にマッチする正規表現


ラジオで桜田淳子さんの「サンタモニカの風」という曲がかかっていて、その曲のサビの

来て来て来て来てサンタモニカ

という部分が構造的に吉川晃司の「モニカ」のサビ

サンクスサンクスサンクスサンクスモニカ

とよく似ているな、と思ったので正規表現にしてみました。

/(来て|サンクス){3,4}サン(タ|クス)モニカ/

ご活用ください。

選択した画像を data スキームURIにする


CSS Image Encoder を見て、「アプリが必要だろうか」と思って、選択した画像を dataスキームURI にするやつを作ってみました。こういう事じゃないのかな。

Firefox や Chrome で動きます。全部ローカルで終わるので画像がどこかに保存されるとかは無いです。

ImageToDataScheme