是否可以显示精灵的另一个实例?我想做的是反射动画精灵。
到目前为止,我得到的是我的 Sprite,称为“canvas”,它内部有使用 AS3 进行动画处理的内容。我想要做的是显示它翻转的副本,在它下面看起来像倒影。我尝试了以下代码,但没有运气,它只是隐藏了所有内容?..
addChild(canvas);
var reflection:Sprite = new Sprite();
addChild(reflection);
reflection.addChild(canvas);
有什么想法为什么这段代码不起作用吗?或者你有更好的方法来解决这个问题。
Thanks
你可以使用BitmapData
为了那个原因。
班级成员:
// flip vertically and shift by 100 (insert your canvas size)
private var reflect:Matrix = new Matrix(1, 0, 0, -1, 0, 100);
// instanciate BitmapData with 100x100 size (insert your canvas size),
// filled with black but with 100% transparancy, it's an
// ARGB value (0 == 0x00000000)
private var reflectionData:BitmapData = new BitmapData(100, 100, true, 0);
private var reflection:Bitmap = new Bitmap(reflectionData);
init:
// you might want to draw canvas already on startup
reflectionData.draw(canvas, reflect);
reflection.x = canvas.x;
reflection.y = canvas.y + canvas.height;
addChild(reflection);
关于动画/重画
// clear to transparency
reflectionData.fillRect(reflectionData.rect, 0);
// draw the current canvas with matrix applied
reflectionData.draw(canvas, reflect);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)