当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > 从基础开始深入Flash AS3教程(1)(译文)

ActionScript
Flash as常用后缀及意义
AS3教程:Point类计算两点间距离
flash as3利用ContextMenu实现右键响应
Flash AS3教程:Motion类
Flash AS教程:文本类对象知识总结
Flash AS3教程:Random类
Flash AS3教程:Level2D类
Flash AS3教程:ApplySocket类
Flash AS3教程:运算符“?:”
Flash AS3教程:Direction类和Dot类
Flash AS3教程:小游戏开发实战尝试
Flash cs3、Flex与asp、php通信总结(包含数据库)
从基础开始深入学Flash AS3教程(7)(译文)
Flash as3教程:OutDisplay类
从基础开始深入学Flash AS3教程(6)(译文)
Flash简单AS代码实现绚丽曲线视觉特效
用纯Flash Actionscript做的火柴棍小人跑的动画
Flash AS解决中文mp3乱码
Flash加载外部文件创建进度条3种方法
AS的LoaderInfo类控制SWF的大小和播放帧频

ActionScript 中的 从基础开始深入Flash AS3教程(1)(译文)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-16   浏览: 91 ::
收藏到网摘: n/a

动态修改影片的帧频
在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);