我是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 编辑 ]