这不是一个代码问题,而是一个性能问题。我正在制作一款小型游戏,既适用于桌面浏览器,也适用于移动设备。我正在使用HTML5和CreateJs制作游戏,并在画布上绘制大部分内容。
我的问题是它在标准桌面浏览器上运行良好,但是一旦我在Android设备上通过PhoneGap运行它,我会在图形中出现奇怪的故障。如果我以最基本的方式从画布中删除某些内容,例如:
stage.removeChild(myBitmap);
stage.update();
然后有时候,不是每次,部分位图仍留在画布上。我会说大约有10%留在那里。感觉好像我需要刷新或重绘画布。在android上是否存在canvas的已知问题(我只看到它发生在android上)或者这是一个与createjs相关的问题?
如果我用动画移动位图,也会出现同样的问题。
答案 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问题!