我正在使用FlashDevelop在Flex中编写移动应用程序,并使用Flash CS6创建可视资源。我在Flash CS6中创建了一个符号,并将其作为AC3导出到SWC中,我将其导入到我的FlashDevelop项目中。然后我为它创建了一个类,如下所示:
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中导入它,但我不知道如何这样做。有人可以给我一些关于如何开始这样做的提示吗?
答案 0 :(得分:3)
在Flash Pro中,确保为符号指定AS链接。
在项目的ActionScript构建路径中使用Flash Pro中发布的SWC,符号可以由AS Linkage实例化。或者,可以从已发布的Flash Pro SWF中嵌入符号。
Pure 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>