flash怎么用脚本播放元件

如题,想用某个脚本,例如按钮按下时,播放一个设定好的库里面的元件,怎么做呢?谢谢!~

您好,请使用以下代码,使用代码前,请确保您的场景中有两个按钮,一个播放按钮,实例名为 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不是元件的名字,而是元件属性中的链接名,下图红色箭头所指:

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答