0

我正在为儿童开发一款教育游戏(D&D、颜色、形状、数字等),为此我正在使用 KineticJS。它在 Ipad 4 和 Iphone 5 上运行良好,但在 Android 设备上以非常低的帧速率运行(Galaxy Tab 2 和 Galaxy S2)。我尝试使用 Cocoon JS 编译应用程序以启用画布加速,但它卡在启动屏幕上(使用 phonegap 构建它运行良好)。

我是否必须对 Kinetic 源代码进行任何更改才能在 CocoonJS 上构建?有没有其他方法可以提高 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() : { top : 0, left : 0 }; 返回{顶部:rect.top,左侧:rect.left};};

然后像这样构建你的主要阶段。

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

于 2014-04-23T10:31:51.233 回答