2012-01-10 20 views
0

AS3をFlash Builder 4.5の "Actionscript Project"として使用して、大きなActionscriptプロジェクトを作成しました。私はしっかりした、再利用可能なコードをたくさん持っていますが、大きなコンポーネントの1つはSpriteを拡張し、アプリケーションの表示コードとして機能するmain.asファイルです。スプライトベースのSWFファイルをmxmlに変換

私は様々な理由から、Flexアプリケーションであることが必要です。

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="590" minHeight="700" 
      initialize="initPlayer()">` 

<fx:Script> 
    <![CDATA[ 
     import mx.controls.Alert; 
     import mx.core.UIComponent; 
     public function initPlayer():void { 
      Alert.show("Testing!"); 
      var comp:UIComponent = new UIComponent(); 
      comp.addChild(new MainView()); 
      addChild(comp); 
     } 
    ]]> 
</fx:Script> 
</s:Application> 

私はこれを起動すると、しかし、それは空白のウィンドウを思い付く:私はここで私は(インターネットのおかげで)持っているものですが、可能な限り最小限のラッパーを取得しようとしています。エラーは発生せず、アラートは起動しません。何が起きているのか?

答えて

0

initializeの代わりにapplicationCompleteを使用してください。初期化はアプリケーションのライフサイクルの早い時期に起動され、addChildのようなものは、後でサイクルに適しています(applicationCompleteはサブコンポーネントのcreationCompleteに対応)。

0

私はあなたの "MainView"ではなく、単純なスプライトクラス "TestSprite"を使用します。できます。 TestSpriteとアラートの両方が機能します。だから、あなたの "MainView"には何かがあってはならないと思います。

public class TestSprite extends Sprite 
{ 
    public function TestSprite() 
    { 
     super(); 
     graphics.beginFill(0x000000); 
     graphics.drawRect(0, 0, 100, 100); 
     graphics.endFill(); 
    } 
} 
関連する問題