我正在开发一款适用于互联网和Android的应用。
对于Android我使用AIR,但对于浏览器我也需要使用Flash Player。该应用程序将有不同的阶段。到目前为止,要将AIR应用程序移植到浏览器,我曾经从所有AIR函数中剥离代码,但现在我无法使用此方法,因为两者都会有更新。
ANE和进口产生了很大的问题。我将使用功能检测平台,并且知道不要进入该代码部分,但有没有办法标记它们以便它们不会被导入,例如省略跟踪或至少不会在编译时抛出错误。 或者有更好的方法吗?
答案 0 :(得分:1)
我建议您通过Compiler Constants使用条件编译。 This article解释了如何做到这一点。
本文面向FlashDevelop的用户,但无论您的IDE如何,您都应该能够完成这些结果。
以下是一个例子:
假设您有一个名为CONFIG::AIR
的配置常量,并且它设置为false
,以下内容将仅编译 括号内的代码。
CONFIG::AIR
{
import some.air.package.AIROnlyClass;
}
import non.air.package.NonAIRClass;
CONFIG::AIR
{
var instanceOfAIROnlyClass:AIROnlyClass = new AIROnlyClass();
}
var instanceOfNonAIRClass:NonAIRClass = new NonAIRClass();
您始终可以添加第二个编译器常量(如CONFIG::NonAIR
),并将其设置为true
。这样,您也可以将非AIR代码包装在条件语句中。