如何在下面的代码中让 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
有一种方法call允许通过其名称访问子显示对象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";
那么这将起作用(假设您想要对象 foo 的第二个子对象,它是滑块的子对象)
function natureThumb(){
var sp:Sprite = naturepage.sliders[sliderthumb].getChildAt(1) as Sprite;
sp.height = sp.width = 65;
}
如果你改为设置你的对象
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;
}