Actionscript 3 如何使用变量创建类的实例?
我试图将一个变量传递给我的一个类中的一个方法,以便使用它创建正确的movieClip(image) 我的类代码如下所示:Actionscript 3 如何使用变量创建类的实例?,actionscript-3,class,variables,methods,Actionscript 3,Class,Variables,Methods,我试图将一个变量传递给我的一个类中的一个方法,以便使用它创建正确的movieClip(image) 我的类代码如下所示: package { import flash.display.MovieClip; import flash.display.Sprite; public class SlideShow extends MovieClip{ public function SlideShow() {
package {
import flash.display.MovieClip;
import flash.display.Sprite;
public class SlideShow extends MovieClip{
public function SlideShow()
{
//does something on start
}
//This function should take the string and use it as the class name below.
public function addImages(BackGround:String):void
{
trace(BackGround);
var main_bg:BackGround = new BackGround();
addChild(main_bg);
}
}
}
var shoeSlide:SlideShow = new SlideShow();
shoeSlide.addImages("menPant");
当我从主时间线调用该方法时,它看起来如下所示:
package {
import flash.display.MovieClip;
import flash.display.Sprite;
public class SlideShow extends MovieClip{
public function SlideShow()
{
//does something on start
}
//This function should take the string and use it as the class name below.
public function addImages(BackGround:String):void
{
trace(BackGround);
var main_bg:BackGround = new BackGround();
addChild(main_bg);
}
}
}
var shoeSlide:SlideShow = new SlideShow();
shoeSlide.addImages("menPant");
所以“menPant”
实际上是我分配给一个包含一些图像的movieclip类的名称
我得到以下错误:
SlideShow.as, Line 30 1046: Type was not found or was not a compile-time constant: BackGround.
如果flash没有自动为您导入getDefinitionByName,请确保在类代码的顶部导入getDefinitionByName。这应该行得通
public function addImages(BackGround:String):void
{
var symbol_class:Class = getDefinitionByName(BackGround);
//EDIT: removed data type :BackGround -- this will give an error.
var main_bg = new symbol_class();
addChild(main_bg);
}
太好了,这就是我要找的+1检查