您的位置:首页 > 其它

loadMovie加载外部swf的大小问题

2007-04-20 16:10 176 查看
loadMovie加载外部swf的大小问题
也可以引深为:mc的大小问题。
首先需要确定的一点,mc大小由可视化大小确定。
----------------------------------
再来看loadMovie加载外部swf的大小问题。
用loadMovie加载外部的swf,这时,mc获得长宽,是swf可视化的长宽。但是了,他的位置却在0,0(也就是说他是从0,0开始的)。但是了,他的可视化部分离0,0还有好远距离,也就是说,swf文件中,可见部件离0,0有一段距离,因此被加载后,mc的坐标是swf舞台的坐标。但是大小却是swf的可视化部分。呵呵,是不是变态。而且互相违背。

var mc:MovieClip = createEmptyMovieClip("mc", getNextHighestDepth());
mc.loadMovie(url);
function onEnterFrame()
{
var form = this["mc"];
trace("form="+form+"zai wai bian ");
trace("内层检测"+form._width+"|"+form._height);
}
-----------------------
那么这个时候如果设置mc的大小,就因为是可视化的长宽,不是原swf的舞台大小,导致变形。如何解决了?
通过上面分析,可以看出,mc的原点在0,0,和他的长宽相违背,说明,他加载的是swf的舞台+舞台外可视化部分产生的大小。
那么,我们可以吧上面的代码加一层壳,这个时候得到的mc1,就是swf的舞台长宽+舞台外部分的可视化长宽之和。而且坐标系是swf的坐标系了。

即:
主影片---1级子影片--在1级子影片中创建mc,mc加载swf。
那么1级子影片的坐标系就是swf的坐标系,而且大小就是swf的第一帧舞台大小+周围可视化大小。(一般swf的可视化部件都在影片舞台上)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: