diff --git a/starling/src/starling/display/DisplayObject.as b/starling/src/starling/display/DisplayObject.as index ce16859fb..33704838c 100644 --- a/starling/src/starling/display/DisplayObject.as +++ b/starling/src/starling/display/DisplayObject.as @@ -1,4 +1,4 @@ -// ================================================================================================= +// ================================================================================================= // // Starling Framework // Copyright Gamua GmbH. All Rights Reserved. @@ -457,12 +457,12 @@ package starling.display painter.backBufferHeight * backBufferScale); while (positionInBitmap.y < out.height) - { + { stepX = projectionX; positionInBitmap.x = 0; - + while (positionInBitmap.x < out.width) - { + { painter.clear(color, alpha); painter.state.setProjectionMatrix(stepX, stepY, stepWidth, stepHeight, stageWidth, stageHeight, stage.cameraPosition); @@ -474,15 +474,16 @@ package starling.display if (_mask) painter.eraseMask(mask, this); - painter.finishMeshBatch(); - execute(painter.context.drawToBitmapData, out, boundsInBuffer, positionInBitmap); - + painter.finishMeshBatch(); + var bmd:BitmapData = new BitmapData(stepWidth, stepHeight, true, 0x00ffffff); + painter.context.drawToBitmapData(bmd, boundsInBuffer); + out.copyPixels(bmd, boundsInBuffer,positionInBitmap); + stepX += stepWidth; positionInBitmap.x += stepWidth * totalScaleX; } - stepY += stepHeight; - positionInBitmap.y += stepHeight * totalScaleY; + positionInBitmap.y += stepHeight * totalScaleY; } painter.popState();