0

我有一个通用代码库,用于导出移动设备(iOS+Android)桌面(OSX+Windows)和网络(SWF)

99% 的代码在任何地方都兼容,并且可以正常工作

但是,有几个实例(如 StageText)不起作用。在这些情况下,我想使用不同的类(如 TextField 或 TLFTextField)。从逻辑上讲,这很好......但是它不会编译

我有类似的东西-

var myStageText:StageText;
var myRegularText:TextField;

if(isAIR) {
myStageText = new StageText();
} else {
myRegularText = new TextField();
}

如何在不关闭错误检查的情况下让它到处编译?

4

1 回答 1

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
}
于 2013-08-26T13:54:09.353 回答