错误 #3671:缓冲区大小为零

Error #3671: Buffer has zero size

我想知道为什么我在另一个 canvas 上遇到这个错误?当我对另一个对象使用更大的 canvas 时,它没有任何问题。但是在另一个对象上,我得到了这个错误,numVertices 为 null 或 0。

当我锁定屏幕然后解锁时会发生这种情况。就像在桌面上是 ctrl + alt + del,在设备上是按锁定按钮。

我正在使用 Github 上最新的 starling Framwork Ver 1.7、flex SDK ver 4.6.0 和 AIR 18.0

这里是我得到错误的地方:

flash.display3D::Context3D/createVertexBuffer  
starling.display::Canvas/syncBuffers at D:\Project\starling 1.7src\starling\display\Canvas.as:237
starling.display::Canvas/onContextCreated at D:\Project\starling 1.7src\starling\display\Canvas.as:71  
starling.events::EventDispatcher/invokeEvent at D:\Project\starling 1.7 src\starling\events\EventDispatcher.as:146  
starling.events::EventDispatcher/dispatchEvent at D:\Project\starling 1.7 src\starling\events\EventDispatcher.as:117  
starling.events::EventDispatcher/dispatchEventWith at D:\Project\starling 1.7 src\starling\events\EventDispatcher.as:195  
starling.core::Starling/initializeGraphicsAPI at D:\Project\starling 1.7 src\starling\core\Starling.as:451  
starling.core::Starling/initialize at D:\Project\starling 1.7 src\starling\core\Starling.as:434  
starling.core::Starling/onContextCreated at D:\Project\starling 1.7 src\starling\core\Starling.as:691

也许我的 canvas 的宽度和高度为零。因为我只是初始化它还没有使用。我只需添加此命令即可完成。

myCanvas.drawRectangle(0,0,1,1);

所以我的 canvas 有宽度和高度。你也可以尝试另一种画法,比如多边形、圆形或椭圆形。