1、控制场景中使用FLASH工具绘制出来的MovieClip 需要使用addChild()把你需要控制的MovieClip的实例名加到屏幕管理显示列表中,这样你的文档类才能控制这个用FLASH工具画出来的MovieClip。如果flash里有一个mc1的MovieClip,mc1里还有一个mc2的MovieClip。那你可以不需要使用addChild(),因为你用addChild()添加了mc1后,你就可以直接控制mc1下面的子对象了。
帮助文档解释:是将一个 DisplayObject 子实例添加到该 DisplayObjectContainer 实例中,这样添加DisplayObject 会在列表最后一位,也就是层级会是最高一层。(要将某子项添加到特定索引位置,请使用 addChildAt()
方法。) DisplayObject :屏幕上显示的对象 DisplayObjectContainer :屏幕上显示的对象列表中显示对象容器 addChild()与addChildAt():就是显示对象装进显示对象列表办法
2、以前使用的属性不在以(_)字符开头 帮助文档解释:一些以前在 ActionScript 1.0 和 2.0 MovieClip、TextField 和 Button 类中使用的属性(如 _alpha
、_height
、_name
、_width
、_x
、_y
等)在 ActionScript 3.0 DisplayObject 类中有等效属性,但它们已被重命名,因此不再以下划线 (_) 字符开头。
3、使用MovieClip转换成button时候使用addEventListener注意事项
// 把MovieClip转成按钮 MovieClip.buttonMode = true; //鼠标事件时候不会执行到MovieClip子集,比如你的MovieClip转成按钮,MovieClip里面有文字,这时候你是用addEventListener时候会监听到event.target是执行到文字上。那你最好使用下面的代码。 MovieClip.mouseChildren = false; 官方帮助:指定此对象是否接收鼠标消息。 默认值为 true
,这意味着在默认情况下,显示列表上的任何 InteractiveObject 实例均接收鼠标事件。 如果将 mouseEnabled
设置为 false
,实例不接收任何鼠标事件。 显示列表上的该实例的任何子级都不会受到影响。 要更改显示列表上对象的所有子级的 mouseEnabled
行为,请使用 flash.display.DisplayObjectContainer.mouseChildren
。
示例: MovieClip.buttonMode = true; MovieClip.mouseChildren = false; MovieClip.addEventListener(MouseEvent.CLICK,funtionName); function funtionName(event:MouseEvent) { var mc=event.target; }
4、 AS3按钮链接网页,-_-|||不是吧,变这么麻烦!大家看吧!
先要加载这两个类 import flash.net.navigateToURL; import flash.net.URLRequest; //把链接强制转换成URLRequest方式,这样才可以被navigateToURL连接 var request:URLRequest = new URLRequest(http://wokao.com); navigateToURL(request,"_blank");
5、工具类
package 包名{ class 类名{ public static funcion 方法(参数…):返回值{…} } }
6、安装包 这里以AsWing举例(什么是AsWing,请看cn.aswing.org/)
比如你的包com 放在d:/我的类/com 那你选择路径就是d:/我的类/(注意不是d:/我的类/com)
7、写子类 super override
package 包名{ public class 子类 eetends 父类 { public static funcion 构方函数(变量){ super(变量) } override protected 父类某一方法或属性 } }
super 用法 super([arg1, ..., argN]) super.method([arg1, ..., argN]) 参数
method:Function — 要在超类中调用的方法。 |
|
argN:* — 可选参数,这些参数传递给方法的超类版本,或者传递给超类的构造函数。 |
super()
语句时,该语句将调用构造函数的超类版本。对超类构造函数的调用必须有正确的参数数目。请注意,不管是否显式调用超类函数,都会调用到超类构造函数。如果不是显式调用它,则将在子类构造函数体中的第一个语句前自动插入不带参数的调用。这意味着,如果在子类中定义了构造函数,并且超类构造函数具有一个或多个参数,则必须显式调用具有正确参数数目的超类构造函数,否则将产生错误。然而,根据 ActionScript 2.0 的要求,对超类构造函数的调用无需是子类构造函数中的第一个语句。