您好,请使用以下代码,使用代码前,请确保您的场景中有两个按钮,一个播放按钮,实例名为 play_btn;一个停止按钮,实例名为 stop_btn;库中待播放的元件,链接名为 AniMC:
AS2.0版本:
//当前场景的引用
var _this:MovieClip = this;
//要播放元件的引用
var playmc:MovieClip;
//绑定按钮事件
play_btn.onPress = playFunc;
stop_btn.onPress = stopFunc;
//播放按钮事件
function playFunc():Void
{
//将库中链接ID为 AniMC 的元件导入到场景中,命名为 mymc
playmc = _this.attachMovie("AniMC", "mymc", 0);
//调整位置
playmc._x = 200;
playmc._y = 100;
//播放
playmc.play();
}
//停止按钮事件
function stopFunc():Void
{
if (playmc)
{
//停止 playmc 的播放
playmc.stop();
//将 playmc 从场景上删除
playmc.removeMovieClip();
//清空 playmc 参数
playmc = null;
}
}
AS3.0版本:
import flash.events.MouseEvent;
import flash.display.MovieClip;
stop();
//要播放元件的引用
var playmc:MovieClip;
//绑定按钮事件
play_btn.addEventListener(MouseEvent.CLICK,onPlayClick);
stop_btn.addEventListener(MouseEvent.CLICK,onStopClick);
//播放按钮事件
function onPlayClick(event:MouseEvent):void
{
if (! playmc)
{
//将 playmc 创建为 AniMC 实例
playmc = new AniMC() as MovieClip;
//调整位置
playmc.x = 200;
playmc.y = 100;
//将 playmc 添加到场景
addChild(playmc);
//开始播放
playmc.play();
}
}
//停止按钮事件
function onStopClick(event:MouseEvent):void
{
if (playmc)
{
//移除 playmc
removeChild(playmc);
//清空 playmc 参数
playmc = null;
}
}
追问朋友你好,谢谢你的详细解答,我可以加下你qq问一下么?谢谢!~
追答您好,我不用QQ的,有什么问题直接问好了,另外我把两个源文件附上来给你,你可以自己编辑看看效果;
PS:我这边只有CS6,最低只能另存为CS5的FLA给你。
追问好的,谢谢你,这个回答很详细,不过可惜我是新手,没很理解,我想知道的是,播放库里面的一个影片剪辑,是用哪个语句呢?谢谢!~
追答分别是上面两个版本中的这一行:
//将库中链接ID为 AniMC 的元件导入到场景中,命名为 mymc
playmc = _this.attachMovie("AniMC", "mymc", 0);//将 playmc 创建为 AniMC 实例
playmc = new AniMC() as MovieClip;
两个版本的步骤稍有不同,要想播放库中的元件,分两步:
1,首先要获取到这个元件;
2,其次是放在场景上让他播放;
在AS2中其实只要一句就可以实现,因为 attachMovie 指令可以获取到库中对应ID的元件,同时将这个元件添加到场景上,坐标默认为0,0;剩下的都是一些辅助指令了,比如修改坐标什么的;
在AS3中,就需要上面两部来实现,首先要用 new 语句创建库中元件的实例对象,并且赋值给事先声明好的参数中(上面的playmc),第二部就是要用 addChild 指令将 playmc 添加到场景上。
追问好的,谢谢你!~那么,也就是说,比如库里面的元件叫“play1”,我只要写attachMovie(play1);就可以了是么?
追答对,不过注意你的play1不是元件的名字,而是元件属性中的链接名,下图红色箭头所指: