Actionscript 3 使用变量替换部分代码?AS3

Actionscript 3 使用变量替换部分代码?AS3,actionscript-3,Actionscript 3,如何让var sliderthumb替换下面代码中的[sliderthumb]?谢谢你的帮助 var sliderthumb:String = "foo"; function natureThumb(){ Sprite(naturepage.sliders.[sliderthumb].getChildAt(1)).height = Sprite(naturepage.sliders.[sliderthumb].getChildAt(1)).width = 65; } 把这个点去掉就行了

如何让var sliderthumb替换下面代码中的[sliderthumb]?谢谢你的帮助

var sliderthumb:String = "foo";

function natureThumb(){

Sprite(naturepage.sliders.[sliderthumb].getChildAt(1)).height = Sprite(naturepage.sliders.[sliderthumb].getChildAt(1)).width = 65;

}
把这个点去掉就行了

Sprite(naturepage.sliders[sliderthumb].getChildAt(1)).height

displayObjectContainer
有一个名为
getChildByName
的方法,允许按名称访问子显示对象。希望这有帮助

var sliderthumb:String = "foo";

function natureThumb(){

Sprite(naturepage.sliders.getChildByName(sliderthumb).getChildAt(1)).height = Sprite(naturepage.sliders.getChildByName(sliderthumb).getChildAt(1)).width = 65;

}

这两个答案都可能是正确的,这取决于OP是如何设置的,但我想补充一些说明。首先,我将代码修改为:

var sliderthumb:String = "foo";

function natureThumb(){
    var sp:Sprite = naturepage.sliders.[sliderthumb].getChildAt(1) as Sprite;
    sp.height = sp.width = 65;
}
如果将对象设置为

var mySprite:Sprite = new Sprite();
mySprite.id = "foo";
var mySprite:Sprite = new Sprite();
mySprite.name = "foo";
然后这将起作用(假设您想要对象foo的第二个子对象,它是滑块的子对象)

如果您将对象设置为

var mySprite:Sprite = new Sprite();
mySprite.id = "foo";
var mySprite:Sprite = new Sprite();
mySprite.name = "foo";
这样就行了

function natureThumb(){
    var sp:Sprite = naturepage.sliders.getChildByName(sliderthumb).getChildAt(1) as Sprite;
    sp.height = sp.width = 65;
}