2012.05.11 | 

こんばんは。muchoです。
やっぱりコンプガチャとかAKB商法とかいやらしいですよね。
さてさて。今日は小ネタも小ネタ。
これまた以前にやったことあったんですが、今日使おうと思って、
えーとあれはどうするんだっけ?とググったりしたので
備忘録的にメモ




public function Main():void
{
	var l:int = 100;
	var points:Vector.< Point > = new Vector.< Point >(_length);
	for (var i:int = 0; i < l; i++)
		points[i] = new Point(int(Math.random() * 100), int(Math.random() * 100));

	_cells.sort(SortByXY);
	for (i = 0; i < l; i++)
		trace("key : " + i + " : " + _cells[i].x + ", " + _cells[i].y);

	_cells.sort(SortByYX);
	for (i = 0; i < l; i++)
		trace("key : " + i + " : " + _cells[i].x + ", " + _cells[i].y);

	// 無名関数を使うのもよし
	_cells.sort( function(a:*, b:*):int
	{
		if (a.x < b.x) return -1;
		else if (a.x > b.x) return 1;
		else 
		{
			if (a.y < b.y) return -1;
			else if (a.y > b.y) return 1;
			else return 0;
		}
	});
	for (i = 0; i < l; i++)
		trace("key : " + i + " : " + _cells[i].x + ", " + _cells[i].y);
}
		
private function SortByXY(a:*, b:*):int
{
	if (a.x < b.x) return -1;
	else if (a.x > b.x) return 1;
	else 
	{
		if (a.y < b.y) return -1;
		else if (a.y > b.y) return 1;
		else return 0;
	}
}

private function SortByYX(a:*, b:*):int
{
	if (a.y < b.y) return -1;
	else if (a.y > b.y) return 1;
	else 
	{
		if (a.x < b.x) return -1;
		else if (a.x > b.x) return 1;
		else return 0;
	}
}



ActionScript sort 関数 とかで検索しても出てこないのはどういうこと?
と思ったら、「ActionScript sort カスタム関数」 で検索したらAdobeのが見つかりました。
最悪それさえ覚えてればいいかも。