Array.Shuffle

PHP だと shuffle 関数であっさり Array をシャッフルしてくれるけど、Flash は別。
かなり基本的な内容だけど、class で使い回し MovieClip を上手く操作すれば表現面に重宝できるので記述。


shuffleArray class


class shuffleArray {
private var _origLen:Number;
private var _origArr:Array;
public function shuffleArray() {

}
public function setArray(arr:Array):Void {
this._origLen = arr.length;
this._origArr = arr;
}
public function getArray():Array {
var newArr:Array = new Array();
for(var i:Number = 0; i < this._origLen; i++) {
var ranNum:Number = Math.floor(Math.random() * this._origArr.length);
newArr[i] = this._origArr.splice(ranNum, 1);
}
return newArr;
}
}

Flash 内で使用する場合


var shuffleArray:shuffleArray = new shuffleArray();
var sampleArray:Array = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
shuffleArray.setArray(sampleArray);
sampleArray = shuffleArray.getArray();


【参照】
http://www.sephiroth.it/proto_detail.php?id=149

ページの一番上へ移動

トラックバック

この記事へのトラックバック URL は下記の通りです。
http://www.convexstyle.net/mt/mt-tb.cgi/20

コメントの投稿

初めて投稿される方のコメントは管理者の承認が必要となります。ご了承ください。