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

时间:2012-12-05 18:11:18

标签: actionscript-3

如何在下面的代码中使用var滑块拇指替换[滑块拇指]?谢谢你的帮助。

var sliderthumb:String = "foo";

function natureThumb(){

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

}

3 个答案:

答案 0 :(得分:1)

只需删除点。

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

答案 1 :(得分:1)

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;

}

答案 2 :(得分:0)

所提供的两个答案都可以根据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;
}