2013-02-17 14 views
1

我正在用FlashDevelop在Flex中編寫一個移動應用程序,並使用Flash CS6創建視覺資產。我在Flash CS6中創建了一個符號,並將其作爲AC3導出到SWC中,並導入到我的FlashDevelop項目中。然後,我創建了一個類的話,像這樣:如何從MXML中的Flash CS導入符號?

package com 
{ 
import flash.display.Sprite; 

    public class volmeter_class extends Sprite 
    { 
    private var design:volmeter; 

    public function volmeter_class() 
    { 
     trace("I'm a MySymbol instance called", name); 
     design = new volmeter(); 
     addChild(design); 
    }  
    } 
} 

我現在求我顯示我的應用程序的頁面上創建的符號。爲此,我懷疑我希望以某種方式將其導入到MXML中,但我不知道如何執行此操作。有人能給我一些關於如何開始這樣做的提示嗎?

回答

3

在Flash Pro中,請確保爲符號指定了AS鏈接。

Flash symbol

使用從Flash在項目的ActionScript構建路徑臨發佈的SWC,符號可以被稱爲連鎖被實例化。或者,可以從Flash Pro的已發佈SWF中嵌入符號。

純ActionScript例如:

package 
{ 
    import flash.display.Sprite; 

    public class AppExample extends Sprite 
    { 
     public function AppExample() 
     { 
      var exampleSymbol:ExampleSymbol = new ExampleSymbol(); 
      addChild(exampleSymbol); 
     } 
    } 
} 

Flex的MXML例如:

<?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" 
       creationComplete="creationCompleteHandler(event)"> 

    <fx:Script> 
     <![CDATA[ 
      import mx.events.FlexEvent; 

      protected function creationCompleteHandler(event:FlexEvent):void 
      { 
       var exampleSymbol:ExampleSymbol = new ExampleSymbol(); 
       symbol.addChild(exampleSymbol); 
      } 
     ]]> 
    </fx:Script> 

    <s:SpriteVisualElement id="symbol" /> 

</s:Application> 

另一種方法是通過將來自Flash Pro中的SWF嵌入符號。

的Flex MXML嵌入例如:

<?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"> 

    <fx:Script> 
     <![CDATA[ 
      [Embed('assets/library.swf', symbol = 'ExampleSymbol')] 
      [Bindable] 
      public static var ExampleSymbolClass:Class; 
     ]]> 
    </fx:Script> 

    <s:Image source="{ExampleSymbolClass}" /> 

</s:Application>