我可以将FlexMobile项目设为纯粹的3吗?

时间:2012-11-15 00:36:43

标签: actionscript-3 flex mobile

我有一个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)?

由于

修改

我花了几天的时间来完成这些伟大的答案......所有这些都是正确的,因为据我所知,我发现amy发布的任意swf很有效,我发现它更容易使用纯动作脚本移动项目

3 个答案:

答案 0 :(得分:4)

命令行Adobe AIR Developer Tool(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移动项目

    new-actionscript-mobile-project

  • 虽然为AIR引用了Flex SDK,但该项目将是纯ActionScript。

    project-location

  • 选择移动设置。

    mobile-settings

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

    built-settings

  • 将项目存根为:

    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;
            }
        }
    }
    

答案 1 :(得分:3)

  

但是我真的需要将我的所有闪存组件转换为Flex   UIComponent还是有一种方法可以在a中使用纯as3(没有mxml)   FlexMobile项目?

在Flash Builder 4.6中,您可以创建一个ActionScript Mobile项目;哪个应该做你想要的。创建Flex Mobile项目时,假设您将依赖Flex Framework并对您施加一些特定模式,例如将主应用程序文件设置为扩展Application的MXML文件。

答案 2 :(得分:1)

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

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

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