打印

[AS3] AS3播放舞台动画,像AS2一样_root.play();

我是AS3初学者,在名词的应用上不专业。有错误请指出。

写这篇教程,希望能有益与像我这样初学AS3的人。

学习AS3的时,遇到一个问题:

以前的_root.play();现在不能用了。

-----------------------------------------------------------------------------------------------------------------------------
我的方法如下:

首先在舞台做一个补间动画。

然后在库里制作一个元件实例(实例名:btn),右键库里的元件,选择linkage。添加了关联的元件类(btn.as);

然后建立一个文档类,通过addchild的方法把库里的元件,添加到舞台上。

代码如下:
复制内容到剪贴板
代码:
package {
    import flash.display.MovieClip;
    public class test extends MovieClip {
        public function test():void {
            this.stop();
            var b1:btn=new btn;
            b1.x=250;
            b1.y=150;
            b1.name = "myBtn";
            addChildAt(b1,1);
        }
    }
}
元件类(btn.as)上我添加了一个监听,点击addChild到舞台的实例。播放舞台的时间轴。相当AS2的_root.play();

代码如下:
复制内容到剪贴板
代码:
package {
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    public class btn extends MovieClip {
        private var i : int = 1;
        public function btn() {
            //按钮手型
            this.buttonMode = true;
            //监听点击
            this.addEventListener(MouseEvent.CLICK, clickHandler);
        }
        public function clickHandler(event:MouseEvent):void {
            if (i == 0) {
                i = 1;
                //MovieClip(this.parent).stop();
                MovieClip(root).stop();
            } else {
                i = 0;
                MovieClip(this.parent).play();
            }
        }
    }
}
-------------------------------------------------------------------------------------------------------------------

OK,这样我解决了_root.play();的问题

实际上你发现,改成MovieClip(root).play();就可以了。


-------------------------------------------------------------------------------------------------------------------

感谢我的朋友阿贤,是他帮助我解决这个问题。他是个perler。有perl的问题可以访问他的个人站点,tracesoul.com

[ 本帖最后由 kissyb 于 2007-7-4 16:43 编辑 ]
我看不懂!
还是比较巧妙的
下划线基本上都去掉了,AS3里头

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
没看懂,fla文件怎么搞得阿?

TOP

var b1:btn=new btn;这句有误,应该是var b1:btn=new btn();

TOP

引用:
原帖由 amamam 于 2007-9-4 10:47 发表
var b1:btn=new btn;这句有误,应该是var b1:btn=new btn();
误从何来?

TOP

不是要 [root as displayObject].mc.play()的写法嘛
xhtml/css/Ajax/AS/php/mysql你才是程序员,你家全是程序员 -__-

TOP

少了一个:()

TOP

事实上播放时间轴,这样也可以:(root as MovieClip).play();

TOP