Flash Lite用 配列(疑似配列)

2009.6.19 金曜日

以前のブログでアクセス数が意外と多かった記事をもう一度掲載しておきます。まだ需要あるのかな?

0 ~ 42 までの数を重複せずに6個ランダムに出力するプログラム。上がActionScript3とかに近い感じのFlash Lite 2.0用で、下がFlash Lite 1.1用。
Flash Lite 1.1 は配列のArray()クラスがないので”nums” + 整数文字を変数名として擬似的に配列っぽい処理をします。

追記 2009.8.11
下記ページも参考になります。
FACEs:FLASH Lite1.1:擬似配列とメモリコスト

var s:Number = 6;
var t:Number = 42;

var nums:Array = new Array();
for (var i:Number = 0; i < t + 1; i ++) {
	nums[i] = i ;
}

var a:Number = t;
while (t --) {
	var b:Number = Math.floor(Math.random() * a);
	var c:Number = nums[a];
	nums[a] = nums[b];
	nums[b] = c;
}

//出力テスト
for (i = 0; i < s; i ++) {
	trace(nums[i]);
}
s = 6;
t = 42;
for (i = 0; i < t + 1; i ++) {
	set("nums" add i, i);
}

a = t;
while (t --) {
	b = random(a);
	c = eval("nums" add a);
	eval("nums" add a) = eval("nums" add b);
	eval("nums" add b) = c
}

//出力テスト
for (i = 0; i < s; i ++) {
	trace(eval("nums" add i));
}

Posted by tmdf|

trackback

http://tmdf.net/blog/20090619_flashlite_array.html/trackback

comments(0)

POST NEW COMMENT

  • name:*
  • e-mail:*

    The content of this field is kept private and will not be shown publicly.
  • website:
  • comment:*

    Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code>
    Lines and paragraphs break automatically.

Photo

PROFILE

森田 考陽 [Takaaki Morita]
Twitter: @tmdf
Other: mtdf.net

Designer / Programmer

RECENT POSTS

MONTHLY ARCHIVES