我有一个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很有效,我发现它更容易使用纯动作脚本移动项目
答案 0 :(得分:4)
命令行Adobe AIR Developer Tool(ADT)可以将SWF打包为移动设备。
这样,任何从各种工具链创建的单片SWF都可以打包移动。
执行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;
}
}
}
答案 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发布到移动设备上。
您还可以找到在Flash Pro和Flash Builder here之间来回切换的步骤。