`

ActionScript3 Cookbook中摘取(一)

    博客分类:
  • Flex
阅读更多

1、项目属性编译参数中可以定义swf的大小背景色及每秒帧数:

-default-size 800 600 -default-frame-rate 31

 =============================================================

 

2、取随机数:

Math.random()

==============================================================

 

3、安装debug版本flashplayer后,跟着debug信息,可以设置将debug信息输出到某个文件中

C:\Documents and Settings\[user name]\mm.cfg 设置此mm.cfg

mm.cfg 文件允许你设置如下变量:

TraceOutputFileEnable 设置值为0 (不写入文件) 或1 (写入文件).

TraceOutputFileName 文件路径,如果没有指定,会在mm.cfg的同目录下生成一个叫flashlog.txt文件 ErrorReportingEnable 设置值为0 (不输出错误信息到文件) 或1 (输出错误信息). 默认为0

MaxWarnings 写入文件的错误信息数量。如果为0则没有限制。

例:

TraceOutPutFileName=C:/Documents and Settings/yinsw/Application Data/Macromedia/Flash Player/Logs/flashlog.txt

ErrorReportingEnable=1

TraceOutputFileEnable=1

MaxWarnings=100

==============================================================

 

4、监听键盘事件

接受这些事件的对象必须出于激活状态。我们需要在主程序中加入(stage.focus = this;)。

例:

stage.focus = this;

addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);

 

private function onKeyDown(event:KeyboardEvent):void {
    trace("key down: " + event.charCode);
}

==============================================================

 

5、监听每帧

addEventListener(Event.ENTER_FRAME, EnterFrameHandler);

==============================================================

 

6、变化角度

rotation

例:_sprite每帧角度加5:
private function EnterFrameHandler(event:Event) {
    _sprite.rotation += 5;
}

==============================================================

 

7、检测是否是数字

isNaN(变量)   true 不是数字

==============================================================

 

8、类型比较

基本类型(string, number, boolean)   复合类型(object, sprite, array)

基本类比较的是“值”,复合类型比较得是引用

==============================================================

 

9、for循环的条件语句还可以设置多个初始值和进步值

例:

for (var i:int = 0, j:int = 10; i < 10; i++, j--) {
    trace("i is " + i);
    trace("j is " + j);
}
==============================================================

 

10、Timer类

Timer 类是ActionScript 3.0新增的, 来代替早期的setInterval( ) 和setTimeout( ) 函数。

var timer:Timer = new Timer(delay, repeatCount);

例:事件每隔5毫秒激活一次

public class ExampleApplication extends Sprite {
    private var _PreviousTime:Number = 0;
    public function ExampleApplication( ) {
        var tTimer:Timer = new Timer(500, 10);
        tTimer.addEventListener(TimerEvent.TIMER, onTimer);
        tTimer.start( );
    }
    private function onTimer(event:TimerEvent):void {
        trace(flash.utils.getTimer( ) - _PreviousTime);
        _PreviousTime = flash.utils.getTimer( );
    }
}

如果你想模拟setInterval( ) 函数,把重复次数设为0。
stop( ) 方法类似于clearInterval( ) 函数,停止定时器.

 

如果想模拟setTimeout( )函数,设置重复数为1,定时器等到指定时间激活一次事件,然后停止。
Timer类最好的用处就是创建动画而不依赖于影片帧速。看下面的例子,两个定时器时间间隔分
别为50微妙和100微妙:

package {
	import flash.display.Sprite;
	import flash.events.TimerEvent;
	import flash.utils.Timer;
	public class ExampleApplication extends Sprite {
	private var _square:Sprite;
	private var _circle:Sprite;
	public function ExampleApplication( ) {
		// 创建两个图形
		_square = new Sprite( );
		_square.graphics.beginFill(0xff0000);
		_square.graphics.drawRect(0, 0, 100, 100);
		_square.graphics.endFill( );
		addChild(_square);
		_square.x = 100;
		_square.y = 50;
		_circle = new Sprite( );
		_circle.graphics.beginFill(0x0000ff);
		_circle.graphics.drawCircle(50, 50, 50);
		_circle.graphics.endFill( );
		addChild(_circle);
		_circle.x = 100;
		_circle.y = 200;
		// 创建两个定时器,启动
		var squareTimer:Timer = new Timer(50, 0);
		squareTimer.addEventListener(TimerEvent.TIMER, onSquareTimer);
		squareTimer.start( );
		var circleTimer:Timer = new Timer(100, 0);
		circleTimer.addEventListener(TimerEvent.TIMER, onCircleTimer);
		circleTimer.start( );
	}
	// 定义两个事件句柄
	private function onSquareTimer(event:TimerEvent):void {
		_square.x++;
	}
	private function onCircleTimer(event:TimerEvent):void {
		_circle.x++;
	}
	}
}

 

当然用enterFrame 事件也可以实现的,但Timer 技术更加灵活。

==============================================================

 

11、函数参数,可以通过 arguments 获得

==============================================================

 

12、抛出异常

可以在某个函数或方法中抛出异常,在调用该函数的方法中使用try/catch截获异常

==============================================================

分享到:
评论

相关推荐

    ActionScript 3.0 CookBook 中文翻译

    《ActionScript 3.0 CookBook》中文翻译是针对Adobe Flash和Flex开发人员的一本实用指南,它深入探讨了ActionScript 3.0这门强大的编程语言。这本书旨在帮助开发者解决实际开发过程中遇到的问题,提供了大量简洁、...

    ActionScript 3.0 Cookbook 中文完整版

    ActionScript 3.0 Cookbook 中文完整版.pdf

    ActionScript3.0cookbook中文版

    标签“ac3”指的是ActionScript3.0,“actionscript3 cookbook”强调了这本书的实践性,而“actionscript”则是对整个ActionScript语言的泛指。 在压缩包内包含的文件《51CTO下载-ActionScript.3.0.Cookbook.中文...

    ActionScript3.0 Cookbook 中文完整版 pdf

    《ActionScript 3.0 Cookbook 中文完整版》是一本专为ActionScript 3.0开发者准备的实用指南。ActionScript是一种广泛应用于Adobe Flash、Flex和Adobe AIR等平台的编程语言,尤其在创建互动式网页内容和富互联网应用...

    ActionScript 3.0 cookbook中文简体完整版电子书

    《ActionScript 3.0 Cookbook》是一本专为ActionScript 3.0开发者设计的实用指南,它提供了大量具体的代码示例,帮助读者解决在开发过程中遇到的各种问题。这本书中文简体的完整版,旨在让中国地区的开发者能够更...

    ActionScript+3.0+Cookbook+中文完整版

    ActionScript+3.0+Cookbook+中文完整版source文件夹目录结构如下: org中主要是org.kingda.book.*包,所有的类文件都在其中。 com中应存放com.mimswright.*,是Mims Wright(www.mimswright.com)编写的生成抽象类的...

    ActionScript 3.0 Cookbook.rar 中文版

    《ActionScript 3.0 Cookbook》中文版是一个针对ActionScript 3.0编程语言的实用指南,旨在帮助开发者解决在创建交互式富媒体内容、网页应用程序以及Adobe Flash平台上的项目时遇到的具体问题。这本书以其独特的...

    ActionScript 3 cookbook 锦囊妙计

    《ActionScript 3 Cookbook 锦囊妙计》是一本专为ActionScript开发者设计的实用指南。它旨在通过一系列精心挑选的示例和解决方案来帮助读者解决实际开发过程中遇到的问题。这本书不仅适合初学者快速上手,也适合有...

    ActionScript3_Cookbook_cn pdf

    Flex ActionScript3_Cookbook_cn

    ActionScript 3 Cookbook code

    《ActionScript 3 Cookbook》是一本专注于ActionScript 3编程技术的实用指南,源码包含在提供的多个文本文件中,如ch01.txt至ch20.txt。这些文件很可能是书中的各个章节代码示例,方便读者直接查看和运行。...

    ActionScript 3.0 Cookbook 中文完整版.pdf+源码

    在“ActionScript 3.0 Cookbook 中文完整版.pdf”中,你可以找到各种编程技巧和解决方案,每个章节都围绕一个特定的问题或任务展开,如创建动态图形、处理事件、使用XML或JSON进行数据交换、实现高级动画效果等。...

    ActionScript 3 Cookbook.PDF

    ActionScript 3 Cookbook.PDF

    ActionScript 3.0 Cookbook 中文版.pdf

    ActionScript 3.0 Cookbook 中文版.pdf 博文链接:https://lvxuehu.iteye.com/blog/183335

Global site tag (gtag.js) - Google Analytics