swc目录下有我们拷入的SWC文件.将其拖入舞台后,在舞台上删除之.(只需要它在库中).
3 在第一帧上加入代码: import cn.adamstudio.effects.TextAnimation; var textAni=new TextAnimation;
即使本地电脑中没有cn.adamstudio.effects.TextAnimation,程序照样能运行,因为它这个类已经包含在了SWC文件当中.
注:SWC_Generator.fla和test.fla的输出设置都应该选择AS2,否则无法得到正确结果;
源文件下载:源文件
AS2 - 创建MovieClip的子类 在Flash中作视觉表现时,常常需要创建MovieClip的子类。下面是一个不错的框架:
Avatar子类: class cn.adamstudio.Avatar extends MovieClip { //定义静态变量,用于初始化 public static var HAPPY:Number = 0; public static var SAD:Number = 1; public static var IDLE:Number = 2;
//定义静态方法,用于简洁地创建自己的instance public static function createAvatar(name:String, target:MovieClip, depth:Number, x:Number, y:Number):Avatar { var av:Avatar = Avatar(target.attachMovie(”AvatarSymbol”, name, depth)); av.init(x,y); return av; }
//设置instance的坐标 public function init(x:Number, y:Number):Void { setState(Avatar.HAPPY); this._x = x; this._y = y; }
//初始化instance public function setState(newState:Number):Void { switch (newState) { case Avatar.HAPPY : this.gotoAndStop(”HAPPY”); break;
case Avatar.SAD : this.gotoAndStop(”SAD”); break;
case Avatar.IDLE : this.gotoAndStop(”IDLE”); break; } } } 注:其中的静态变量和静态函数是可选的,可以根据需求的不同而有所变化。
主文档中: import cn.adamstudio.Avatar; var av:Avatar=Avatar.createAvatar("avatar",_root,0,200,200);
这种方法的特点和优点是用使用子类的静态方法来实例化MovieClip的子类,在主文档中非常简洁。 源文件下载
AS-可正可负随机数的算法 我以前的写法都是: Math.random()*2-1 今天看到一个比较有意思的写法: Math.random()-Math.random()
AS3鼠标坐标总结 鼠标是Flash里追主要的互动因素,经常需要侦测鼠标事件(AS3中鼠标事件小结)和得到鼠标的坐标。鼠标坐标的获取可以分为在文档类和在子类中,两种不同的情况。
1)如果是在时间线轴上,或者文档类上使用: stage.mouseX 和 stage.mouseY
2)在子类(如_sprite:Sprite)上使用: _sprite.mouseX 和 _sprit |