2

我有一个想要作为移动项目运行的 as3-robotlegs(信号)应用程序。我发现我不能有一个纯 as3 入门类,即。

这适用于 Flash 专业或纯 as3 项目

    public class TestX extends Sprite
{
    protected var context:ApplicationContext;
    use namespace mx_internal;


    public function TestX()
    {
        LoaderConfig.mx_internal::_url = loaderInfo.url;
        LoaderConfig.mx_internal::_parameters = loaderInfo.parameters;
        context = new ApplicationContext(this);     <---
        this.stage.nativeWindow.visible = true;
    }
}

现在对于 FlexMobile,我需要在 index.mxml 中执行类似的操作

    <fx:Declarations>
        <context:SignalCafeContext contextView="{this}"/>   <----
    </fx:Declarations>

但是我真的需要将我所有的 Flash 组件都转换为 Flex UIComponent 还是有办法在 FlexMobile 项目中使用纯 as3(无 mxml)?

谢谢

编辑

我花了几天时间来整理这些很棒的答案……据我所知,它们都是正确的,我发现艾米发布任意 swfs 效果很好,我发现使用纯 actionscript 移动项目更容易

4

3 回答 3

4

命令行 Adob​​e AIR 开发人员工具 (ADT) 可以为移动设备打包 SWF。

这样,从各种工具链创建的任何单一 SWF 都可以打包用于移动设备。

  • 下载AIR 3.5 SDK
  • 确保 JRE,或使用来自 Flash Builder 的 JRE。
  • 执行 adt 将 SWF 打包到 IPA:

    adt -package -target [ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc]
        -keystore iosPrivateKey.p12 -storetype pkcs12 -storepass qwerty12
        -provisioning-profile ios.mobileprovision
        HelloWorld.ipa
        HelloWorld-app.xml
        HelloWorld.swf icons Default.png
    

否则,Flash Builder 4.6 具有纯 ActionScript 移动项目:

  • 选择文件»新建 ActionScript 移动项目

    新的动作脚本移动项目

  • 尽管 AIR 引用了 Flex SDK,但该项目将是纯 ActionScript。

    项目地点

  • 选择移动设置。

    移动设置

  • 确保所有引用都合并到代码中。

    内置设置

  • 哪个会将您的项目存根为:

    package
    {
        import flash.display.Sprite;
        import flash.display.StageAlign;
        import flash.display.StageScaleMode;
    
        public class X extends Sprite
        {
            public function X()
            {
                super();
    
                // support autoOrients
                stage.align = StageAlign.TOP_LEFT;
                stage.scaleMode = StageScaleMode.NO_SCALE;
            }
        }
    }
    
于 2012-11-15T03:44:30.827 回答
3

但是我真的需要将我所有的 Flash 组件都转换为 Flex UIComponent 还是有办法在 FlexMobile 项目中使用纯 as3(无 mxml)?

在 Flash Builder 4.6 中,您可以创建 ActionScript Mobile 项目;这应该做你想做的事。创建一个 Flex Mobile 项目,假设您将依赖于 Flex 框架,并对您强加一些特定的模式,例如让您的主应用程序文件是扩展 Application.xml 的 MXML 文件。

于 2012-11-15T01:22:04.177 回答
1

您可以使用这些步骤将您的 swf 发布到移动设备上。

  • 创建一个新的 ActionScript Mobile 项目并为其命名。
  • 转到项目-> 属性-> 构建器。
  • 取消选中“Flex”构建器(但保留“AIR application.xml 构建器”)
  • 现在将您的任意 swf(即:myapp.swf)复制到 bin-debug 文件夹中。
  • 在默认包空间中创建一个与 swf 同名的 ActionScript 类(即:myapp.as)。
  • 右键单击 myapp.as 文件,然后单击“设置为默认应用程序”</li>
  • 现在它会生成一个 myapp-app.xml,去打开和编辑你喜欢的。
  • 单击运行配置并为您想要的平台打包您的应用程序。
  • 重复步骤以将更多 SWF 添加到包中。

您还可以在此处找到在 Flash Pro 和 Flash Builder 之间来回切换的步骤。

于 2012-11-15T01:36:21.440 回答