こんにちは
椋梨と申します。
enchant.js-builds-0.7.0/examples/beginner/hellobear
をPhoneGapを使用してAndroidの実機で動作させてみました。
動きが変だったのでログをいれて確認しました。
起動と終了を繰り返すと、enterframe が多重で発生してるようになります。
解決方法などありましたら教えてくだい。
ブラウザでは正常です。
★確認した端末
nexus7
ISW11M
★動作ログ
05-29 16:31:30.086: D/CordovaLog(13763): frameCounter= 1340
05-29 16:31:30.086: D/CordovaLog(13763): x= 27
05-29 16:31:30.146: D/CordovaLog(13763): frameCounter= 374
05-29 16:31:30.146: D/CordovaLog(13763): x= 71
05-29 16:31:30.146: D/CordovaLog(13763): frameCounter= 1132
05-29 16:31:30.146: D/CordovaLog(13763): x= 21
05-29 16:31:30.146: D/CordovaLog(13763): frameCounter= 545
05-29 16:31:30.156: D/CordovaLog(13763): x= 40
this.xとframeCounterを表示する。
frameCounterはグローバル変数にしておき、window.onloadで0にする。
★ frameCounterの初期化
ーーー
window.onload = function(){
console.log("window.onload");
frameCounter = 0;
ーーー
★ログを入れた所
ーーー
bear.addEventListener("enterframe", function(){
frameCounter++;
/**
* クマを走らせるために、x座標をインクリメントしている。
* この無名関数 function(){ ... } は enterframe イベントのリスナなので、毎フレーム実行される。
*/
this.x += 1;
if(this.x>100){
this.x = 0;
}
console.log("frameCounter= " + frameCounter);
console.log("x= " + this.x);
ーーー
アプリを戻るボタンを終了した後のもログが出力されます。
05-29 16:40:37.306: D/CordovaLog(13763): x= 39
05-29 16:40:37.306: D/CordovaLog(13763): frameCounter= 9430
05-29 16:40:37.306: D/CordovaLog(13763): x= 37
05-29 16:40:37.306: D/CordovaLog(13763): frameCounter= 8333
05-29 16:40:37.306: D/CordovaLog(13763): x= 51
05-29 16:40:37.316: D/CordovaLog(13763): frameCounter= 8163
05-29 16:40:37.316: D/CordovaLog(13763): x= 83
05-29 16:40:37.316: D/CordovaLog(13763): frameCounter= 8918
05-29 16:40:37.316: D/CordovaLog(13763): x= 30
PhoneGap との組み合わせで出る問題でしょうか?
以上、よろしくお願いします。