0

私は子供向けの教育ゲーム (D&D、色、形、数字など) を開発しており、その目的で KineticJS を使用しています。Ipad 4 と Iphone 5 では正常に動作しますが、Android デバイスでは非常に低いフレームレート (Galaxy Tab 2 と Galaxy S2) で動作します。キャンバス アクセラレーションを有効にするために Cocoon JS でアプリをコンパイルしようとしましたが、起動画面でスタックします (phonegap ビルドでは問題なく動作します)。

CocoonJS でビルドするには、Kinetic のソース コードを変更する必要がありますか? Android デバイスでキネティック パフォーマンスを向上させる代替手段はありますか?

4

1 に答える 1

0

Cocoonjs は親コンテナー (その div) をレンダリングできません。Kinetic のプロトタイプを上書きする必要があります。

Kinetic.Stage.prototype._buildDOM = function() {
this.content = this.attrs.container;
this.hitCanvas = new Kinetic.Canvas(0, 0, true);

this.bufferCanvas = new Kinetic.SceneCanvas({
    pixelRatio: 1
});

this.bufferHitCanvas = new Kinetic.HitCanvas();

this._resizeDOM();

};

Kinetic.Stage.prototype._getContentPosition = function() { var rect = this.content.getBoundingClientRect ? this.content.getBoundingClientRect() : { 上 : 0、左 : 0 }; return { 上: rect.top, 左: rect.left }; };

次に、このようにメインステージを構築します。

this.stage = new Kinetic.Stage({width: 960, height: 500, container: document.body});

于 2014-04-23T10:31:51.233 に答える