2017-06-05 3 views
0

私のコードをSWFファイルにコンパイルすると、何もしないプログラムになります。私は、色#FFAA00の実線の四角形を期待していました。なぜ私のコードは何もしていないのですか?ActionScript 3/MXML:コードで何もしません

dummy.as:

//Dependencies 
import flash.display.*; 
import flash.events.*; 

//Variables 
var GlobalTimer:int = 0; 
var Rect:Shape = new Shape(); 

//Game loader function 
public function handle():void 
{ 
    init(); 
} 

//Init function 
public function init():void 
{ 
    addChild(Rect); 
    addEventListener(Event.ENTER_FRAME,loop); 
} 

//Loop function 
public function loop(event:Event):void 
{ 
    var CurTimer:int = getTimer(); 
    var FrameDiff:int = CurTimer-GlobalTimer; 
    GlobalTimer = CurTimer; 

    Rect.graphics.beginFill(0xFFAA00); 
    Rect.graphics.drawRect(0,0,640,480); 
    Rect.graphics.endFill(); 
} 

dummy.mxml:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application width="640" height="480" xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="handle()"> 
    <mx:Script source="dummy.as"/> 
</mx:Application> 

使用してコンパイル:

./mxmlc ../../feedsparky/src/dummy/dummy.mxml 

答えて

1

形状ので、子としての条件を満たしていません。慎重に読むためには

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/Container.html#addChild()

は、Flex表示リストに基本的なFlash表示クラスを追加するために、あなたが彼らの親としてのUIComponentを持っている必要があります。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/Application.html

var FlashBox:UIComponent = new UIComponent; 
var Rect:Shape = new Shape; 

//Init function 
public function init():void 
{ 
    addChild(FlashBox); 
    FlashBox.addChild(Rect); 

    addEventListener(Event.ENTER_FRAME, loop); 
} 
+0

いくつかのコードがいいだろう:あなたは、ここで継承の連鎖を見ることができます。 – Yoshimaster

+1

@ Yoshimaster特定のクラスのインスタンスを作成して中間コンテナとして追加することはできません。 Okaaay ... – Organis

+0

それはそれですか?申し訳ありませんが、私はちょっと混乱しました。私はOOP言語を頻繁に使用しないので、実際にその用語を知らない。私は基本的にあなたが何を意味するのか分からなかった。 – Yoshimaster

関連する問題