ActionScript トリビアルメモ 2 ~初期化とか

MXMLコンポーネントを自作して、その中でさらにMXMLを内包しているときとかその中の変数をどう初期化するのか。
気づいたとき、たいした話じゃなかったなあというか、まだまだActionScriptを分かってないなあと思いました。

HogeHBox:


<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" xmlns:ns1="sample.*">
	<mx:Script>
		<![CDATA[
			public var hoge:String;
		]]>
	</mx:Script>
	
</mx:HBox>

FooCanvas:


<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
	<mx:Script>
		<![CDATA[
			public function init():void {
				this.hogehoge.hoge = "test";
			}
		]]>
	</mx:Script>
	<ns1:HogeHBox id="hogehoge"></ns1:HogeHBox>
</mx:Canvas>

メインコード:


var foo:FooCanvas = new FooCanvas();
foo.init();

とかやるとhogehogeが初期化されていなくて怒られると。で、これはFooCanvasを


<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
	<mx:Script>
		<![CDATA[
			[Bindable]
			public var hogeString:String;
			
			public function init():void {
				this.hogeString = "test";
			}
		]]>
	</mx:Script>
	<ns1:HogeHBox id="hogehoge" hoge="{hogeString}"></ns1:HogeHBox>	
</mx:Canvas>

っていう感じでhogehogeのmxmlのプロパティとして与えておけばいいという。基本なんですね、きっと。

以上

コスミー について

昔(?)はゲーム作ってました。 今もなんか作ろうとしています。
カテゴリー: ActionScript パーマリンク

コメントを残す

メールアドレスが公開されることはありません。