我正在动态地将影片剪辑(SWFS)加载到附加剪辑中(来自库)。加载的电影并非都具有中心点,这意味着它们的注册点不是直接位于其中心。当我将它们加载到附加的剪辑中时,这会产生问题,因为它们不会在附加的剪辑上居中,这是我希望它们做的。有没有办法根据宽度和高度而不是注册点来设置动画片中心?
提前致谢!
答案 0 :(得分:2)
使用getBounds。
var bounds:Rectangle = loadedClip.getBounds(loadedClip);
对于左上角对齐的影片剪辑,bounds.x和bounds.y将为{0,0}。任何其他值都会告诉你偏离中心的程度。
如果加载的剪辑是loadedClip且其父级是containerClip,则以下内容将起作用。
loadedClip.x = (container.width - loadedClip.width)/2 - loadedClip.getBounds(loadedClip).x;
loadedClip.y = (container.height - loadedClip.height)/2 - loadedClip.getBounds(loadedClip).y;
如果缩放中涉及的剪辑,则必须按如下方式调整缩放:
loadedClip.x = (container.width - loadedClip.width) / 2 - (loadedClip.getBounds(loadedClip).x * loadedClip.scaleX);
loadedClip.y = (container.height - loadedClip.height) / 2 - (loadedClip.getBounds(loadedClip).y * loadedClip.scaleY);
我希望这会有所帮助。
答案 1 :(得分:0)
您可以使用此类更改MC的注册点以使其居中: Dynamic MovieClip Registration with AS2
答案 2 :(得分:0)
当加载完成后,您可以获取已加载电影的宽度和高度,并调整x&相应的位置:
function onLoadComplete(){
loadedmc._x = loadedmc._width/2 * -1;
loadedmc._y = loadedmc._height/2 * -1;
}