‘as3’ カテゴリーのアーカイブ

あるかないか判断して削除

2010年5月12日 水曜日

なんかよく忘れるんだよね。

if (contains(mc)) removeChild(mc);

[as3] 重複する配列を削除する

2010年3月15日 月曜日
private function xGetUniqueArray(_array:Array):Array {
	var result_array:Array = new Array();
	var oValues:Object = new Object();
	var nLength:Number = _array.length;
	for (var i:Number = 0; i<nLength; ++i) {
		var myValue:Object = _array[i];
		if (!oValues[myValue]) {
			oValues[myValue] = true;
			result_array.push(myValue);
		}
	}
	return result_array;
}

どこから探してきたんだっけな。。
Flash-jpだたー。

ついでにシャッフルも。

public function shuffle(array:Array):Array{
	return array.sort(function():int{return int(Math.random()*3)-1});
}

1行でArrayをシャッフルする

クラスを文字列で参照したい

2010年2月2日 火曜日

as3以前には良く使ってた手法。as3ではこんな感じでやるみたい。

import flash.utils.getDefinitionByName;
for (var i:int = 0; i<3; i++) {
  var name_str:String = "Pen"+i;
  var myClass:Class = Class(getDefinitionByName(name_str));
  var myInstance:MovieClip = new myClass();
  addChild(myInstance);
  // インスタンスの座標などを設定する処理
}

F-site : クラスを文字列で参照したい

AS3無名関数の破棄

2009年11月6日 金曜日
addEventListener(Event.ENTER_FRAME, function(e:Event):void {trace("ほげ")});
//
removeEventListener(Event.ENTER_FRAME, arguments.callee);

IOErrorがcatchできなかった

2009年11月5日 木曜日

またまた1時間くらいはまったのでメモ。

var _loader:URLLoader = new URLLoader();
try{
 _loader.load(new URLRequest("xxx"));
}catch (e:IOError){
 hoge();
}

といけるかと思いきや、いけず。
こんな感じでやるみたい。

var _loader:URLLoader = new URLLoader();
_loader.addEventListener(IOErrorEvent.IO_ERROR, function():void{ hoge(); });
_loader.load(new URLRequest("xxx"));

リンケージで作成したオブジェクトの中のオブジェクトにアクセス

2009年10月21日 水曜日

かなり長い時間はまったのでメモメモ。

MCを作成して、リンケージ名を”OyaMC”とする。
その中にインスタンス名”koMC”を配置。

var oyaMC = new OyaMC();
addChild(oyaMC);
oyaMC["koMC"].alpha = 0;

半日くらいはまって、結局ダイナミックにオブジェクトを作成してたけどやっと解決。。

Soundの扱い

2009年8月16日 日曜日

as3でサウンドをいじるのはだいぶ楽になって、ライブラリに入れておけば以下のコードだけでOK。

var seObj = new btnSe();
seObj.play();

ボタンを作って音を鳴らしたら、思い通りの音が鳴らん。音自体は鳴ってる。
なんだーと思ったら、サウンドが圧縮されてたのが問題。パブリッシュの設定のサウンドの圧縮をなしにしたところ、無事に思い通りの音が鳴った。
にしても、MP3で圧縮して、ビットレート16kでも24kでも64kでも微妙に音が違って、そんなもんでも結構違うもんなんだなーと思った。たぶんボタン音じゃなくて、普通の曲とかだったらそれほどの違いが気にならないのかもしれないけど、「ピッ」くらいだとよく分かるのかも。
これで30分はかかった・・・

もろもろ検索してたらカヤックさんで便利そうなクラスを見つけた。
サウンドまわりの扱いがめんどくさいので。
簡単な音の扱いは簡単にできそう。そうサウンドを扱わないと毎回SoundChannelとかSoundTransform面倒を調べるのも大変だしな。