通常の as3 swf をエア モバイルにターゲティングするのに問題があるので、簡単なテスト アプリを作成して、どれが問題なのかを確認して理解しようとしました。flashdevelop 4 と最新の AIR SDK を使用しています。
クラス名BlackBoxでエクスポートされた単純なMCでSWCをエクスポートしました 。これが私のメインコードです(パッケージとインポートは省略されていますが、BlackBoxクラスもインポートしました):
public class Main extends Sprite
{
public var cajaNegra:MovieClip
public function Main():void
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.DEACTIVATE, deactivate);
// touch or gesture?
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
// entry point
cajaNegra = new BlackBox();
addChild(cajaNegra)
cajaNegra.x = stage.stageWidth/2
cajaNegra.y = stage.stageHeight / 2
}
}
すべてが正常に機能しますが、src フォルダーにカスタムBlackBox.asを作成すると、アプリに何も表示されません。miTextoという名前のテキスト フィールドを追加しました。
BlackBox.as
public class BlackBox extends MovieClip
{
public var miTexto:TextField
public function BlackBox()
{
super();
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
miTexto.text = "changed text"
}
}
この場合、デバッガーは次の行をスローしますmiTexto.text = "changed text" :
[Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference
前もって感謝します。