动态
在AS3中,你可以使用Stage类动态的修改影片的帧频。
Stage类(flash.display.Stage)的stage对象是所有的sprite和MovieClip以及其他在安全沙箱里的所有元件的舞台。stage对象的帧频可以是0.01到1000之间的任何一个数。要修改帧频,使用下面的代码:
// 将帧频修改到12帧每秒(FPS)
stage.frameRate = 12;类方法的作用域和类绑定在一起
AS3完全基于类构造。当一个类被创建的时候,类中的参数,变量,方法或任何实例都同时被创建。和AS2不同,AS3中的方法在执行的时候,将使用和类同样的作用域。例如下面的代码:
package {
import flash.display.Sprite;
public class ClassScope extends Sprite {
public function ClassScope() {
traceThis(); // 输出"Class Instance"
var obj:Object = new Object();
obj.traceThis = traceThis;
obj.traceThis(); // 输出"Class Instance"
traceThis.call(new Sprite()); // 输出"Class Instance"
}
public override function toString():String {
return "Class Instance";
}
public function traceThis():void {
trace(this);
}
}
}图形对象和绘图API
和AS1和AS2一样,AS3也提供了绘图API来绘制矢量线段和图形。但是在AS3中,绘图API将独立于显示对象(display objects:MoiveClip,sprites等)而被定义为图形对象(flash.display.Graphics)。图形对象拥有各种绘图方法用来在内部绘制图形。和以前一样,图形内容将在所有对象的最下层。同时,在AS3中有一些新的方法来帮助你方便的绘制简单的图形。包括:
园:drawCircle(x:Number, y:Number, radius:Number):void
椭圆:drawEllipse(x:Number, y:Number, width:Number, height:Number):void
矩形:drawRect(x:Number, y:Number, width:Number, height:Number):void
圆角矩形:drawRoundRect(x:Number, y:Number, width:Number, height:Number, ellipseWidth:Number, ellipseHeight:Number):void
代码举例:
// 绘制一个蓝色的圆角矩形
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF);
square.graphics.drawRoundRect(0, 0, 100, 50, 10, 10);
square.graphics.endFill();
addChild(square);