我正在尝试将 MovieClip 绘制到 BitmapData 上,这样它看起来就像我完成了 addChild(movieclip) 一样。
我似乎无法弄清楚我需要使用什么魔法公式来将动画保持在其原点附近。
这是相关的代码:
private function update(e:Event):void
{
var bounds:Rectangle = movieClip.getBounds(movieClip);
bitmapData = new BitmapData(maxMCwidth, maxMCheight, true, 0x0);
bitmapData.draw(movieClip, new Matrix(1, 0, 0, 1, maxMCwidth - (bounds.x + bounds.width), maxMCheight - (bounds.y + bounds.height)));
bitmap.bitmapData = bitmapData;
}
完整代码在这里: http: //pastebin.com/KyU5FPeJ
结果如下:
http://www.swfcabin.com/open/1339173476
顶部动画是使用 addChild(mc) 完成的。底部动画是使用 bitmapData.draw 完成的。注意右边的剑在底部版本中没有水平移动。几乎就好像整个动画都在右对齐一样。
这也是我的 flashdevelop 项目的完整代码链接,以防有人想玩它:https ://www.dropbox.com/s/gvt4scknqdian2a/bitmapdatadrawing.zip
我只希望两个版本看起来一样。我需要对我的 bitmapData 绘图代码进行哪些更改才能实现这一点?