Flash课件网 - 您身边的课件制作专家
Flash课件网官方,专业代做课件、定制原创Flash动画或参赛课件、修改Flash、制作演讲或汇报幻灯片PPT课件。联系QQ:4318100或搜索微信号:flashkj

Flash课件中准确控制外部加载swf位置和大小

本站提供Flash课件代做和PPT幻灯片定制业务,联系QQ/微信:4318100

方法一:

外部加载swf文件,如果那个swf文件有些东西超出舞台外,怎样来准确控制它的大小和位置呢?就像控制外加载图片一样!难点在于:加载完毕后,读到的外部 swf文件所在的mc大小实际上包含了舞台外面的东西,只希望显示舞台内的东西,实现类似加载图片那样的自适应尺寸加载……
//创建一个叫SWF_MC的空MC来装要加载进来的目标
this.createEmptyMovieClip("swf_mc", this.getNextHighestDepth());
//申明一个MovieClipLoader类型来完成加载,不推荐使用laodMovie()
var mcload:MovieClipLoader = new MovieClipLoader();
//申明一个侦听器对像
var mclListener:Object = new Object();
//影片加载完成,并开始执行时,进行以下动作
mclListener.onLoadInit = function(target:MovieClip) {
//被加载MC的显示区域x坐标
var xpos:Number = 100;
//被加载MC的显示区域y坐标
var ypos:Number = 100;
//被加载MC的显示区域宽度
var widthpos:Number = 100;
//被加载MC的显示区域高度
var heightpos:Number = 100;
//设置被加载进来的影片的坐标以及宽高,偏移量只能根据加载情况调整了
target._x = xpos-左偏移量;
target._y = ypos-上偏移量;
target._width = widthpos+左偏移量+右偏移量;
target._height = heightpos+上偏移量+下偏移量;
//绘制遮罩
mask_func(xpos, ypos, widthpos, heightpos);
};
mclListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
//trace(文件+"/"+bytesLoaded+"/"+bytesTotal);
//如果要制作加载进度显示,在这里实现
};
//给MovieClipLoader注册侦听器
mcload.addListener(mclListener);
//开始执行加载
mcload.loadClip("a.jpg", image_mc);
// 绘制遮罩函数
function mask_func(x, y, width, height) {
this.createEmptyMovieClip("mask_mc", this.getNextHighestDepth());
this.mask_mc.lineStyle(1, 0x000000, 100);
this.mask_mc.beginFill(0xffffff, 100);
this.mask_mc.moveTo(x, y);
this.mask_mc.lineTo(x+width, y);
this.mask_mc.lineTo(x+width, y+height);
this.mask_mc.lineTo(x, y+height);
this.mask_mc.lineTo(x, y);
this.mask_mc.endFill();
trace(this.mask_mc._width);
//应用遮罩
this.swf_mc.setMask(mask_mc);
}
 

 

方法二:

要在课件中实现画中画的效果,可以利用“loadMovie”语句来载入外部的 swf 文件。
为了控制外来动画的大小与位置,我们需要先制作一个空 MC。现在我们假定要载入的 swf
文件是“bb.swf” 。
新建一个 Flash 文档,插入一个影片剪辑元件,命名为“MC” ,无内容放空。将 MC 放
于你希望 bb.swf加载进来播放的位置,比如x=300 y=200 命名其实例名为“load” 。
建一按钮,加上语句:
on(release) {
_root.load.loadMovie("bb.swf");
setProperty(_root.load, _xscale,60);
setProperty(_root.load, _yscale,60);
}
第二句的意思是当释放按钮后,就载入“bb.swf”给名为“load”的 MC 实例。第四句是
把这个 MC 缩小了 60%,_xscale是指原 MC 的宽,60 是百分比。在这里,你可以随意的改
变缩入比例了。
要想实现卸载,可以重新建立一个按钮元件,输入如下语句:
on(release) {
_root.load.unloadMovie("bb.swf")
}
如果只是简单的加载,我们也可以使用 Flash MX 2004 中【行为面板】中提供的【影片剪辑】|【加载外部影片剪辑】与【卸载影片剪辑命令】。

文章来源: 我要学flash网(www.51xflash.com) 原文地址:http://www.51xflash.com/article/as2/200812/12-8046.html

标签:
分类:Flash课件| 发布:admin| 查看: | 发表时间:2011-11-21
原创文章如转载,请注明:转载自Flash课件网 http://www.flashkj.com/
本文链接:http://www.flashkj.com/flashkj/206.html

已经有 ( 0 ) 位网友发表了评论,你也评一评吧!

既然是过去了!但是我还用了这个程序了!很感谢原著!!!!
2019-8-16 12:56:04 回复
Design By Flashkj.Com | Login | Power By Chen Feiyang.