2013-02-17 12 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>