使用createjs和canvas时,位图在android上崩溃

时间:2013-11-27 10:05:47

标签: android html5 cordova html5-canvas createjs

这不是一个代码问题,而是一个性能问题。我正在制作一款小型游戏,既适用于桌面浏览器,也适用于移动设备。我正在使用HTML5和CreateJs制作游戏,并在画布上绘制大部分内容。

我的问题是它在标准桌面浏览器上运行良好,但是一旦我在Android设备上通过PhoneGap运行它,我会在图形中出现奇怪的故障。如果我以最基本的方式从画布中删除某些内容,例如:

stage.removeChild(myBitmap);
stage.update();

然后有时候,不是每次,部分位图仍留在画布上。我会说大约有10%留在那里。感觉好像我需要刷新或重绘画布。在android上是否存在canvas的已知问题(我只看到它发生在android上)或者这是一个与createjs相关的问题?

如果我用动画移动位图,也会出现同样的问题。

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。这是一个已知的android 4.1+错误,似乎主要发生在三星(S2 +)设备上。请在此处详细了解该问题:https://code.google.com/p/android/issues/detail?id=39247

简而言之,以下代码解决了我的问题:

stage.update();
var canvas = document.getElementById("myCanvas");
canvas.style.opacity = 0.99;
setTimeout(function() 
{
    canvas.style.opacity = 1;
}, 1);

所以这不是PhoneGap或CreateJS问题!