s26

useCapture addEvenetListener

useCaptureってなんじゃらほいと

思っていて使わなかったんだけど、
使う機会が来たので使った。

要は、クリックした時に3個のイベントがあって、
そのイベントを一番に実行したいのであれば、
そのイベントのuseCaptureをtrueにすると

一番最初に実行されますよって事っぽい。

addchildで一番手前に表示される。

重なり合うインスタンスの中で、一番手前にもってきたいものを

addChild

していたんだけど、これって、イベントリスナーつけて気づいたけど、

removeChild()
addChild()

って感じで一回removeされているようです。

なので、今後は

setChildIndex(_mc,numChildren-1);

を使う!!

1から100までの数字をランダムに並べる

ここのを使った。
ActionScript入門Wiki@rsakane - 配列内のデータをランダムに入れ替える

var _arr:Array = new Array();

for(var i:Number = 1 ; i <= 100 ; i++){
	_arr.push(i)
}

var _arrNew:Array = shuffle(_arr);

//出力結果
trace(_arrNew.toString())




function shuffle(data:Array):Array{
	var temp:Array = data.slice();
	var dest:Array = new Array();
 
	while (temp.length > 0)
	{
		var index:int = Math.random() * temp.length;
		dest.push(temp[index]);
		temp.splice(index, 1);
	}
 
	return dest;
}

progression singleton error (staticでも)

progressionでSingletonが使えなかった。

んー。
と言うか、

atSceneLoadのaddCommandで

設定しているのに、

と言うかここで、ひとつ誤解をしていた。

タイムライン的に
addCommandの上から実行がされると思ったのだけど、

addCommand(
new Func(function(){
ここで変数を決める。
}),
new DoTweener(ここで上で作った変数を取得)
)

としていたんだけど、
変数の値がうまく取れない。

簡単に言うと、変数は初期のものが、DoTweenerに入る。

結果的にDoTweenerの変数はうまく起動しない。

たぶん動きの最適化の為などで、余計な変数の変更などが
できない形だったんだろう。

で、解決方法

addCommand(
new Func(function(){
ここで変数を決める。
addCommand(
new DoTweener(ここで上で作った変数を取得)
)
})
)

こうすれば、変数が使えた。

うーん。2時間ほど悩んだぜ。。。