【问题标题】:Can I make a FlexMobile project pure as3?我可以将 FlexMobile 项目制作成纯 as3 吗?
【发布时间】:2012-11-17 19:40:30
【问题描述】:

我有一个 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 移动项目更容易

【问题讨论】:

标签: actionscript-3 apache-flex mobile


【解决方案1】:

命令行 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;
            }
        }
    }
    

【讨论】:

  • +!超越这个答案。截图摇滚。
【解决方案2】:

但是我真的需要将我所有的 Flash 组件都转换为 Flex UIComponent 或者有没有办法可以在 FlexMobile 项目?

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

【讨论】:

    【解决方案3】:

    您可以使用 these steps 将您的 swf 发布到移动设备上。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-22
      • 2012-10-10
      • 2023-01-25
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 2021-07-27
      相关资源
      最近更新 更多