Actionscript 3 FlashVars&;AS3
因此,我试图访问flash Var,但我一直遇到以下错误: 第27行1180:调用可能未定义的方法LoaderInfo 我已经尝试将下面的代码放在我的类内外,但从我收集的信息来看,它似乎认为“LoaderInfo”是另一个函数,而它不是Actionscript 3 FlashVars&;AS3,actionscript-3,flash,flashvars,Actionscript 3,Flash,Flashvars,因此,我试图访问flash Var,但我一直遇到以下错误: 第27行1180:调用可能未定义的方法LoaderInfo 我已经尝试将下面的代码放在我的类内外,但从我收集的信息来看,它似乎认为“LoaderInfo”是另一个函数,而它不是 public function getFlashVars():Object { var paramList:Object = LoaderInfo( this.root.loaderInfo ).parameters; var myParam:S
public function getFlashVars():Object {
var paramList:Object = LoaderInfo( this.root.loaderInfo ).parameters;
var myParam:String = paramList["myParam"];
return myParam;
}
我该怎么做
Eli从您喜欢的函数名和返回类型来看,您似乎在尝试实现以下功能:
function getFlashVars():Object{
return root.loaderInfo.parameters;
}
此外,这对您来说已经是一个静态对象。您实际上不需要函数来获取这些参数
至少不是上面的那个。您可以通过以下方式获取它们:
root.loaderInfo.parameters.myParam1
root.loaderInfo.parameters.myParam2
root.loaderInfo.parameters.myParam3
...
从您的函数名和返回类型来看,您似乎在尝试实现以下功能:
function getFlashVars():Object{
return root.loaderInfo.parameters;
}
此外,这对您来说已经是一个静态对象。您实际上不需要函数来获取这些参数
至少不是上面的那个。您可以通过以下方式获取它们:
root.loaderInfo.parameters.myParam1
root.loaderInfo.parameters.myParam2
root.loaderInfo.parameters.myParam3
...
您似乎忘记了导入
flash.display.LoaderInfo
但您也可以省略类型转换:
this.root.loaderInfo.parameters
您似乎忘记了导入flash.display.LoaderInfo
但您也可以省略类型转换:
this.root.loaderInfo.parameters代码>如果您想要一种优雅的方式来使用FlashVar,您可以使用from。此类是FlashVar的包装器,因此可以在没有阶段的地方访问它们
您可以分别为每个flashvar设置默认值和类类型。结合FlashVarNames枚举类,您可以知道应用程序中使用了哪些FlashVar
您应该在主文件中实例化/配置FlashVar一次
package
{
import temple.data.flashvars.FlashVars;
import flash.text.TextField;
public class FlashVarsExample extends DocumentClassExample
{
private static const _LANGUAGE:String = 'language';
private static const _VERSION:String = 'version';
private static const _IS_DEMO:String = 'is_demo';
public function FlashVarsExample()
{
FlashVars.initialize(this.loaderInfo.parameters);
FlashVars.configureVar(_LANGUAGE, 'nl', String);
FlashVars.configureVar(_VERSION, 1, int);
FlashVars.configureVar(_IS_DEMO, true, Boolean);
var txt:TextField = new TextField();
txt.width = 550;
txt.height = 400;
this.addChild(txt);
trace('FlashVars.getValue(_LANGUAGE) : ' + FlashVars.getValue(_LANGUAGE) + "\n");
trace('FlashVars.getValue(_VERSION) : ' + FlashVars.getValue(_VERSION) + "\n");
trace('FlashVars.getValue(_IS_DEMO) : ' + FlashVars.getValue(_IS_DEMO) + "\n");
trace(FlashVars.dump());
}
}
}
如果您想要一种优雅的方式来使用FlashVar,您可以使用from。此类是FlashVar的包装器,因此可以在没有阶段的地方访问它们
您可以分别为每个flashvar设置默认值和类类型。结合FlashVarNames枚举类,您可以知道应用程序中使用了哪些FlashVar
您应该在主文件中实例化/配置FlashVar一次
package
{
import temple.data.flashvars.FlashVars;
import flash.text.TextField;
public class FlashVarsExample extends DocumentClassExample
{
private static const _LANGUAGE:String = 'language';
private static const _VERSION:String = 'version';
private static const _IS_DEMO:String = 'is_demo';
public function FlashVarsExample()
{
FlashVars.initialize(this.loaderInfo.parameters);
FlashVars.configureVar(_LANGUAGE, 'nl', String);
FlashVars.configureVar(_VERSION, 1, int);
FlashVars.configureVar(_IS_DEMO, true, Boolean);
var txt:TextField = new TextField();
txt.width = 550;
txt.height = 400;
this.addChild(txt);
trace('FlashVars.getValue(_LANGUAGE) : ' + FlashVars.getValue(_LANGUAGE) + "\n");
trace('FlashVars.getValue(_VERSION) : ' + FlashVars.getValue(_VERSION) + "\n");
trace('FlashVars.getValue(_IS_DEMO) : ' + FlashVars.getValue(_IS_DEMO) + "\n");
trace(FlashVars.dump());
}
}
}
@MartyWallace是的,我知道,但我不应该仍然得到这个错误。@MartyWallace是的,我知道,但我不应该仍然得到这个错误。