我有一个公共代码库,我用它来导出移动(iOS + Android)桌面(OSX + Windows)和Web(SWF)
99%的代码在任何地方都兼容,而且只是工作
但是,有几个实例(如StageText),它将无法工作。在这些情况下,我想使用不同的类(如TextField或TLFTextField)。从逻辑上讲,这很好......但是它不会编译
我有类似的东西 -
var myStageText:StageText;
var myRegularText:TextField;
if(isAIR) {
myStageText = new StageText();
} else {
myRegularText = new TextField();
}
如何在不关闭错误检查的情况下让它在任何地方进行编译?
答案 0 :(得分:0)
啊好吧,我意识到我可以通过使用通配符对象定义并按名称设置类来实现它......类似于:
var textInput:*;
var customClass:Class;
if(isAIR) {
customClass = getDefinitionByName("flash.text.StageText") as Class;
textInput = new customClass();
textInput.stage = stage;
} else {
textInput = new TextField();
addChild(textInput
}