包含标签 note 的文章

《ActionScript 3.0 Cookbook》读书笔记6.2-SimpleButton

SimpleButton

SimpleButton,相当于Flash中的按钮元件。在Flash中,它有“up”、“over”、“down”和“hit”四种状态,“hit”状态是用来控制按钮的可点击区域的。而在ActionScript 3中,SimpleButton类的实例同样有四种状态“upState”、“overState”、“downState”和“hitTestState”。

前面的三种状态都很好理解,正好和按钮元件的前三种状态对应,只需要将DisplayObject指定给它们即可。而“hitTestState”状态,则是让我郁闷了一下。

按照Flash中的原理,按钮的四种状态中,其实仅仅设置up状态,按钮就可以工作。但是在SimpleButton中,这个惯例行不通。如果不设定hitTestState状态,按钮根本不响应。

因此,要使用SimpleButton,必须至少设定两种状态,而hitTestState状态是必须设定的。而实际上,要实现一个正常的按钮效果,四种状态都必须设定。因为如果某个状态不被设定,当按钮显示这种状态时,按钮中就没有任何内容。

可以用下面的代码做个实验,注释10-13行中不需要状态,然后编译看效果:

……

阅读全文

《ActionScript 3.0 Cookbook》读书笔记6.1-关于Display List

由于工作太忙,2-5章的内容又相对简单,因此一直没有来得及整理学习笔记,现在正在学习第6章,因此笔记也从这里开始。前面的笔记,有时间再补上。

Display List

ActionScript3的Display List是我很感兴趣的一部分内容,它完全改变了ActionScript1和ActionScript2的层级结构。确实,新的层级结构非常清晰,更加便于使用。

Flash Player 9由两个部分组成:ActionScript虚拟机(AVM)和渲染引擎。要显示内容,先由AVM创建显示对象、再由渲染引擎将其显示在屏幕上。

例如,要将一个文本框显示在屏幕上,先使用new关键字来创建TextField类的实例,这个工作是由AVM处理;然后用addChild方法将这个实例显示在屏幕上(由渲染引擎处理)。

……

阅读全文

《ActionScript 3.0 Cookbook》读书笔记1.3

管理事件

在ActionScript2.0中,我已经习惯使用addEventListener()来为V2版组件添加事件处理器。同时也习惯了使用EventDispatcher来发布事件。没想到ActionScript 3.0已经把addEventListener作为标准的事件机制了。这真是个好消息。

ActionScript 3.0使用flash.events包把所有的事件类集中在一起。例如,enterFrame事件被放在flash.events.Event类中;鼠标事件被放在flash.events.MouseEvent类中;键盘事件则被放在flash.events.KeyboardEvent类中,等等。

现在,要使用ActionScript 2.0时代的onEnterFrame事件,需要这么写:

//构造类...
import flash.events.Event;
//其他代码...
addEventListener(Event.ENTER_FRAME, onEnterFrame);
//其他代码...
private function onEnterFrame(event:Event) {
//处理代码
}

当然,事件管理函数名称倒不一定必须是“onEnterFrame”。至于鼠标事件和按键事件,使用方法也都差不多。Adobe把所有的事件都集中在一个包中管理,并且全部用常量来描述事件名称,确实比原来松散的管理方式要方便许多了。

……

阅读全文

《ActionScript 3.0 Cookbook》读书笔记1.2-关于trace()

关于trace()

由于不是在Flash IDE中进行编辑,在调试程序过程中,如何获取trace()的值是一个问题。目前主要有两个方法:

1、利用Debug版本的Flash Player+mm.cfg

首先确认自己的Flash Player是Debug版本,然后用记事本建立一个mm.cfg文件,写入以下内容:

TraceOutPutFileName=C:\Documents and Settings\{your name}\Application Data\Macromedia\Flash Player\Logs\flashlog.txt
ErrorReportingEnable=1
TraceOutputFileEnable=1
MaxWarnings=0

然后保存在“C:\Documents and Settings\{your name}\”下即可。当在浏览器中打开swf文件时,所有的trace内容都会被写入到flashlog.txt中。
其中的几个参数的意义分别是这样的:

……

阅读全文

《ActionScript 3.0 Cookbook》读书笔记1.1

《ActionScript 3.0 Cookbook》(下载)的确是一本AS3入门的好书,今天开始把学习心得写出来把。

其他的关于本书的读书心得

书中目前推荐的学习AS3的平台是使用Flex Builder 2,这是一个非常优秀的开发平台(当然价格也不菲),可以在Adobe官方网站下载试用版。

如果不使用Flex Builder 2,则可以直接用Flex SDK 2进行开发,它是免费的(Flex Builder 2已包含Flex SDK 2)。

编译AS3程序可以用Flex SDK 2中的mxmlc,也可以直接用Flex Builder 2编译。不过就我看来,还是用前者比较好,因为我的计算机配置较差(815EPT C1.2G 512MBPC133),在使用Flex Builder 2编译时经常会消耗掉400MB以上的内存,整个系统犹如死掉一样,编译完成之后占用的内存也很难释放。而mxmlc编译的速度明显要快一些,编译完成后会立刻释放占用的内存。

将as编译成swf,其实很简单,只需要使用下面的语法即可:

……

阅读全文

最近文章

分类

标签

3d aac actionscript adobe adobebug adsl air amd android ane ant antivirus apache api arch as2 as3 asdoc asp aspnet authorware bash bbpress benq bitandbyte bitmapdata bluetooth book box2d browser byewindows c camera capture centos character-set choice chongrenxindu chrome class cms cocos2d-x codec collection color component conference cookbook coolplayer cpp css cygwin datagrid debug degrafa design-pattern develop devops director display-objects docker dragonbones ds eclipse editgrid egret embed emotion encrypt engine english eval excel exif fcs ffmpeg filter firefox flash flash-remoting flashbuilder flashdevelop flashplayer flask flex flexbuilder flv fms font framework freeware fte ftp fxg game gcc general generator git gmail godaddy google gprs graphic graphviz gtd gui h264 hardware hexo host house howto hp html html5 http hugo i18n ie image ime ios iot jacky-cheung java javascript job joomla journey jquery json layout lecture library life lighttpd linux lisp list live loader lua mac macos mambo management markup master math mencoder mingw mobile mobile-game-framework module monitor mvc mxmlc mysql ndk netconnection netstream network nginx node nodejs note objective-c office opengl openresty opensource ops osmf osx pay pda performance photoshop php physics player plist plugin portable posix ppc protocol proxy python qiqi qt quick2cocoslua reading reflection regexp ria robotlegs router rtmp ruby sagiteam sandbox sdk server sharedobject shell signals simulator skeletalanimation skin sleepmode smartphone socket software spark spreadsheet spritesheet sql sqlalchemy ssh staticize study svn swf swfobject terminal testing thread tipsandtricks tlf trace training translate translation tween typescript ubuntu ugly ui unity ununtu upload usingrobotlegs2 utf-8 uwsgi validator vcard vector video vim virtualization vr web weboffice websocket wifi windows wine word wordpress work wuhan xampp xbeta xinnet xml youshootfirst zhihu

其它