articles

2010 年 4 月 28 日

AS3 最前面にもってくるDisplayObjectContainer

var sprite:Sprite=new Sprite();
sprite.setChildIndex(btn_obj,sprite.numChildren-1);

よくつかうので書いてあった気がするのですが・・・
ひさびさにFlashやると忘れてました。悲しい。

2010 年 1 月 15 日

AS3 シンプルなボタンの作り方

CATEGORYflash   TAG 12:16 PM

MCのフレームに _up と _over というラベルを付けて

mc.enabled

だけです。
簡単なものだったらこれで作りたいとこです。

mc.addEventlistener(MouseEvent.ROLL_OVER,rollOverHandler);
mc.addEventlistener(MouseEvent.ROLL_OUT,rollOutHandler);
function rollOverHandler(event:MouseEvent){
     event.currentTarget.gotoAndStop("_over");
}
function rollOutHandler(event:MouseEvent){
     event.currentTarget.gotoAndStop("_up");
}

このくらいの記述が省略できます。

2010 年 1 月 14 日

AS3 getChildByName()

CATEGORYDisplayObjectflash   TAG 1:05 PM

よく
getDefinitionBy〜だとかよくまちがえるのでメモしました。
DisplayObjectContainerクラスのメソッドです。

btn_mc=this.getChildByName("btn_"+id)

昔はこれと何がちがうのか、どういうときにつかうのかよくわからなかったです。

btn_mc=this["btn_"+id]

2009 年 11 月 6 日

Flash flashvarsでハマる。

CATEGORYLoaderinfo   TAG 8:12 PM

信じられないくらいハマってしまいました。
原因はわからないんですが・・・
そもそも loaderInfoかLoaderInfoかってところまで疑いはじめて。

おそらく、CyberDuckで上書きをしない設定になってたので
アップされていなかったのが原因っぽいのですが納得いきません。

パラメータ一覧を出すスクリプトをいれたタイミングでなぜかクリア。
もやもやしてます。

var paramObj:Object=loaderInfo.parameters;
for (var i:String in paramObj) {
	tf.appendText(i + "=" + paramObj[i] + "\n");
}

2009 年 9 月 17 日

AS3 loaderで読み込まれたswfからメインタイムラインにアクセスしたい

loaderで読み込まれたswfからメインタイムラインにアクセスしたいとき。

maintimline=loaderInfo.loader.root as MovieClip;

今日気づいたんですが、

MovieClip(loaderInfo.loader.root);

という書き方もあるんですね。

2009 年 9 月 14 日

AS3 Flashヘルプの場所

CATEGORYactionscriptFlash   2:02 AM

いつもヘルプをみるとhelp.adobe.comに接続されて困ってました、遅いので。
ローカルにあるんですね。

パスは以下のようになってました(MacOS)
file:///Library/Application%20Support/Adobe/Help/ja_JP/AS3LCR/Flash_10.0/index.html

これでヘルプが見やすくなります。

2009 年 9 月 13 日

AS3 クラスの参照

以下のようにすることで文字列のクラス名をgetDefinitionByNameに渡して
参照できるようです。
すごく基本的なことっぽいです。

import flash.utils.getDefinitionByName;
var ClassReference:Class;
ClassReference=getDefinitionByName(class_name) as Class;
var instance=new ClassReference();

2009 年 9 月 2 日

AS3 県の定義クラス PrefList

CATEGORYactionscriptArray   TAG 2:47 AM

ちょと県のリストを作る必要がありましたので
配列を作成するクラスを作りました。
当初、staticで二次元配列にしていたのですが
地域ごとに取得する必要もあるかもと思いインスタンスメンバにしました。

またまたこういった場合setter,getterで行うべきでしたか。

PrefList.as

package {

	import jp.feb19.ExArray;

	public class PrefList {
		public var pref_list:Array=new Array();
		//pref_list:Array;

		var 北海道:Array=[["北海道","hokkaido"]];
		var 東北:Array=[["青森","aomori"],["秋田","akita"],["岩手","iwate"],["山形","yamagata"],["福島","fukushima"],["宮城","miyagi"]];
		var 関東:Array=[["茨城","ibaraki"],["栃木","tochigi"],["群馬","gunma"],["埼玉","saitama"],["千葉","chiba"],["東京","tokyo"],["神奈川","kanagawa"]];
		var 中部:Array=new Array();
		var 甲信越:Array=[["新潟","niigata"],["山梨","yamanashi"],["長野","nagano"]];
		var 北陸:Array=[["富山","toyama"],["石川","ishikawa"],["福井","fukui"]];
		var 東海:Array=[["岐阜","gifu"],["静岡","shizuoka"],["愛知","aichi"]];
		var 近畿:Array=[["三重","mie"],["滋賀","shiga"],["京都","kyoto"],["大阪","osaka"],["兵庫","hyougo"],["奈良","nara"],["和歌山","wakayama"]];
		var 中国:Array=[["鳥取","tottori"],["島根","shimane"],["岡山","okayama"],["広島","hiroshima"],["山口","yamaguchi"]];
		var 四国:Array=[["徳島","tokushima"],["香川","kagawa"],["愛媛","ehime"],["高知","kouchi"]];
		var 九州:Array=[["福岡","fukuoka"],["佐賀","saga"],["長崎","nagasaki"],["熊本","kumamoto"],["大分","ohita"],["宮崎","miyazaki"],["鹿児島","kagoshima"]];

		//コンストラクタ
		public function PrefList() {
			中部=中部.concat(甲信越,北陸,東海);
			pref_list=pref_list.concat(北海道,東北,関東,中部,近畿,中国,四国,九州);
			//pref_list=pref_list.concat(中国);
			pref_list=ExArray.shuffle(pref_list);
		}
	}
}
var pref=new PrefList();
var pref_list=pref.pref_list;