Entries RSS
image


Who is reading My blog

SPONSORS

新浪围脖

十一 26

Array.NUMERIC数组排序应用


一个缓动菜单的小例子,用到了sortOn排序里的Array.NUMERIC方法,还用了TweenLite做缓动效果,简单而实用的方法,可以运用在很多别的地方。

主要代码:

?View Code ACTIONSCRIPT
1
2
3
4
5
6
7
8
9
private function sortLayers():void
		{
			layers.sortOn( 'y', Array.NUMERIC );
 
			for (var i:int = 0; i < layers.length; i++)
			{
				TweenLite.to( layers[i], 0.5, { x:0, y:(layers[i].height + LAYER_SPACING) * i, ease:Quint.easeOut } );
			}
		}

对数组的排序可以使用三种方法(reverse()sort()sortOn()

reverse() 方法不带参数,也不返回值,但可以将数组从当前顺序切换为相反顺序。

sort() 方法按照”默认排序顺序”重新安排数组中的元素。

着重说下sortOn()

sort() 方法具有 options 参数,可通过该参数改变默认排序顺序的各个特征。options 是由 Array 类中的一组静态常量定义的,如以下列表所示:

  • Array.CASEINSENSITIVE:此选项可使排序不区分大小写。例如,小写字母 b 优先于大写字母 D。
  • Array.DESCENDING:用于颠倒默认的升序排序。例如,字母 B 优先于字母 A。
  • Array.UNIQUESORT:如果发现两个相同的值,此选项将导致排序中止。
  • Array.NUMERIC:这会导致排序按照数字顺序进行,比方说 3 优先于 10。

以下是帮助文档的一个例子,可以很清晰的看出每个参数的作用。

?View Code ACTIONSCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var poets:Array = new Array();
poets.push({name:"Angelou", born:"1928"});
poets.push({name:"Blake", born:"1757"});
poets.push({name:"cummings", born:"1894"});
poets.push({name:"Dante", born:"1265"});
poets.push({name:"Wang", born:"701"});
 
poets.sortOn("born", Array.NUMERIC);
for (var i:int = 0; i < poets.length; ++i)
{
    trace(poets[i].name, poets[i].born);
}
/* 输出:
Wang 701
Dante 1265
Blake 1757
cummings 1894
Angelou 1928
*/

更多详细的例子和说明可以参考帮助文档

Down this example!

十一 17

AIR 2.0 Beta和Flash Player 10.1 Prelease发布

AIR 2.0 Beta和Flash Player 10.1 Prelease发布了

AIR 2.0

首页:http://labs.adobe.com/technologies/air2/
下载地址:http://labs.adobe.com/downloads/air2.html

Flash Player 10.1 Prelease!
http://labs.adobe.com/technologies/flashplayer10/
下载地址:

http://labs.adobe.com/downloads/flashplayer10.html

Continue to read this article »

十一 09

12月2日 Adobe 将在广州举办“Adobe开发者技术日”

logo_text

“Adobe开发者技术日在广州举办了,先来了解大会信息再去报名:

       

这次大会7yue可是劳碌了,整个上午几乎都是他的场子。值得注意的是 Jinni 也会出场,他正在撰写《Flex 4 SDK 新特性教程系列》,他的博客一直都更新很快。还有就是郭少瑞先生,常上RIAMeeting的人就肯定熟悉这位道友了。大人物齐出马,不听演讲也跟得去跟他们握握手,交个好朋友:)

我已经报名了 不知道有人一起去没

RIAHOME知道的

十一 02

海龟算法解螺旋方阵问题(续)

今天把我上次的双For海龟算法求解螺旋方阵问题的这个代码改了下,用EnterFrame来实现,代码有点变化,效果是一个一个出现了,对于我这个菜鸟来说领悟颇多。
主要代码部分

?View Code ACTIONSCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var ii:Number = 2*(N-1)+1;
var jj:Number = 0;
 
//循环判断转向
function loop(e:Event)
{
	trace("ii="+ii);
	trace("jj="+jj);
	//判断并一次输出一排
	if(jj<(ii/2))
	{
		arr[c+A][v+B].Value.text = String(nowStep);
		if(nowStep == N*N)
		{removeEventListener(Event.ENTER_FRAME,loop);}
		trace("["+(c+A)+"]"+"["+(v+B)+"]"+"="+nowStep);
		nowStep++;
		c+=A;
		v+=B;
		jj++;
	}
	//判断转向
	else
	{
		jj=0;
		ii--;
		C=A;
		A=B;
		B=-C;
		trace("右转");
	}
}

点击看效果:Demo Down