1

FlexUnit,Flex里的单元测试工具

Posted by wpm on Mar 28, 2009 in ActionScript

下载FlexUnit

搞了大半年的敏捷开发了,项目里使用测试驱动开发,不过是NUnit,现在试试FlexUnit,首先说下什么是测试驱动开发(TDD

我们知道可以针对接口编程,首先把接口定好,然后各位开发的伙计都去调用接口,这样但实现被人改了之后(有意或无意或者未预料后果),就会发生错误,试想本来接口规定你去某个地方的一个商店买东西,但是有一天这个商店老板换人了,本来是卖肉,现在变卖米,结果你买的东西就不符合你老婆的要求了(等着挨骂吧)。。。。呵呵

写测试主要是提前把预先要的结果给想好,传个什么参数,必定会返回什么值 如:function Move(int a,int b):int

但传2,5,如果返回8,说明是对的,否则返回个6或者个其他什么的,都不行,测试通不过,程序员马上就要发飙了,大喊一声,“啊,测试有问题啊,我靠”,然后负责那个方法的人马上就得灰头土脸的去改正,值得说明的是,这个测试是他本人写的。

开始看看FlexUnit怎么用的。

1,下载FlexUnit

2,随便建个Flex工程,加入FlexUnit包到此工程


<br />


3,随便写个类,写个方法


<br />

4,添加测试用例

5,测试运行,算了,直接上代码,具体注释

我的工程结构图:


<br />

CodeTime:

Tags: , , , ,

 
-

Protected: self join的问题

Posted by wpm on Mar 23, 2009 in Backword

There is no excerpt because this is a protected post.

Tags: ,

 
-

30款超酷炫光PS笔刷素材

Posted by wpm on Mar 18, 2009 in Creative Assets

Tags: ,

 
2

Flash Player的新的全屏模式

Posted by wpm on Mar 16, 2009 in ActionScript, Flash

硬件缩放的用法

Flash Player Update 3的Stage对象追加了一个fullScreenSourceRect的属性。这个属性可以在AS2.0和AS3.0里使用。它把Rectangle的领域缩放为全屏。用fullScreenSourceRect指定领域用硬件来画,比以前的效率与画质高不少。

语法

fullScreenSourceRect : flash.geom.Rectangle;

全屏模式的例子:

//Actionscrīpt 3.0
import flash.geom.*;
public function fullScreen():void {
Stage["fullScreenSourceRect"] = new Rectangle(0, 0,
Stage.width, Stage.height);
Stage["displayState"] = "fullScreen";
}


在Flash CS3的类重新定义之前无法用Stage.fullScreenSourceRect的写法,会通不过编译。fullScreenSourceRect指定的领域在Stage外也可。


Tags: ,

 
-

flash 事件流 与 元件层次 的关系

Posted by wpm on Mar 16, 2009 in ActionScript

flash 事件流
包括3个过程:查找,目标和冒泡 3个过程,
他是从最底层的displayobj开始搜寻,类似与树状结构搜寻,displaycontainer 中查找这些元件.以前有时会遇到事件的触发问题,例如事件被吃掉,事件被多个元件触发.这里需要注意下安排他们的层次 例如要监听的对象和无关的不想被触发的对象保持兄弟接点的层次关系. 要想都触发保持父子的节点关系.

Tags: , ,

 
1

as3 事件机制

Posted by wpm on Mar 15, 2009 in ActionScript

以前的事件处理模型:

on() 在 Button 或 MovieClip上的 
onClipEvent() 直接写在 MovieClip instances 上的
Callback 函数 例如XML.onload 和 Camera.onActivity 
addListener()方法 简单的事件监听
The UIEventDispatcher class 实现了部分 DOM event model.

as3有什么不同:

全部废除,只有addEventListener()一种了
listener只可以是methods或function,而且自带了Delegate(好多资料里都有写,这点就不讨论了)
多了event flow概念,就是说as2中只有广播者才能addEventListener,as3中即使object不发广播,只要它在event flow中都可以 addeventlistener

event flow:

事件源如果不在displaylist中,那么跟as2一样只能 事件源.addEventListner(“xxx” xxxfunc)

否则如果事件源是可视的,那么Flashplayer会把这个event object扔到事件源所处的displaylist中去

displaylist 是一个树型结构,可以想象为下图

,然后这个eventObject会自己旅游到事件源那去,然后再回来

event flow 就是描述eventObject在这个displaylist中的旅游过程

顶端是一个特殊的display object容器—- Stage,他表现在flash.display.Stage类中,然后每一个display object都有一个属性叫stage 都引用这个应用程序的Stage

event flow 概念上被分为3部分。

第一部分叫 capture 阶段 包括从Stage到目标的parent
第2 部分叫 target 阶段 就只有目标节点
地3 部分叫 bubbling 阶段 包括从目标的parent到Stage

如图:

前边说过如果事件源不在displaylist中,那么跟as2一样只能 事件源.addEventListner(“xxx” xxxfunc) 因为它就只参加 target阶段,1,3阶段都不参与
一些特殊的事件也是这样,例如enterFrame 和 init

否则该eventObject将参与这3个阶段

但在一般情况下,默认的addEventListener只监听event flow第 2,3阶段。

看个鼠标点击的例子 (点此下载)

Tags: , , ,

 
-

Adobe Flex Builder 引入Flash的类

Posted by wpm on Mar 14, 2009 in Flex


Adobe Flex Builder 默认没有引入Flash的包,所以但打开有些as文件的时候会报找不到fl命名空间的错误,其实只有在flex builder里面打开【Project】-【properties】,然后设置【Actionscript Build Path】里的【Source Path】,将Flash cs3/cs4里的类所在的文件夹(一般在flash安装文件夹下面,如:D:/Program Files/Adobe/Adobe Flash CS3/zh_cn/Configuration/ActionScript 3.0/Classes)添加进来就可以用了。<br />

Tags: , ,

 
1

good news,aggregated by adobe feeds

Posted by wpm on Mar 13, 2009 in News

Adobe Feeds

今天收到封邮件,好消息,小站被Adobe feeds 收录了,呵呵,以后咱也是mxna的一员了,看图


<br />



Tags: ,

 
3

XMLRPC for Actionscript 3.0 – Free Library

Posted by wpm on Mar 7, 2009 in Framework


http://danielmclaren.net/2007/08/03/xmlrpc-for-actionscript-30-free-library

Download XMLRPC for AS3


And without further ado, here are the source files:

Some notes:

Tags: , , ,

 
3

ActionScript3 内存管理

Posted by wpm on Mar 7, 2009 in ActionScript


AS3内存管理(垃圾回收 Garbage Collector) 【抄文】


Tags: , , ,