私はMXML
これを含むファイルを持っています:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="30">
<mx:Script>
<![CDATA[
public function initLayer(name:String):void{
t_layer.text = name;
}
]]>
</mx:Script>
<mx:Grid id="mainGrid" width="100%" height="100%" >
<mx:GridRow>
<mx:GridItem width="80%">
<mx:Text id="t_layer" text="new" />
</mx:GridItem>
</mx:GridRow>
</mx:Grid>
</mx:Canvas>
別の AS ファイルから、Layer
オブジェクトを作成しています。
public function addLayer(name:String):void{
var layer:Layer = new Layer();
layer.initLayer(name);
layer.x = 0;
layer.y = _layers*layer.height;
layersContainer.addChild(layer);
_layers++;
}
しかし、initLayer
関数内でエラーが発生していますundefined property for null object t_layer
。
私は何を間違っていますか?手伝って頂けますか?
編集:
信じられない。ティモフェイに答えるだけで、自分の頌歌をテストするとうまくいきます。どのように?addLayer
メソッド内の関数の順序を次のように変更します。
public function addLayer(name:String):void{
var layer:Layer = new Layer();
layer.x = 0;
layer.y = _layers*layer.height;
layersContainer.addChild(layer);
layer.initLayer(name);
_layers++;
}