设置Flash AS3滑块组件的宽度和高度

时间:2013-04-24 22:18:05

标签: actionscript-3 flash

我正在尝试使用Flash CS4中的内置AS3滑块组件设置自定义外观。我有以下代码,但设置myslider.widthmyslider.height似乎没有任何效果。滑块仍然以默认的宽度和高度显示,我的自定义sliderTrackSkin正在按比例缩小。

import fl.controls.Slider;
import fl.controls.SliderDirection;
import fl.events.SliderEvent;

var myslider:Slider = new Slider();
myslider.direction = SliderDirection.VERTICAL;
myslider.width = 43;
myslider.height = 110;
myslider.minimum = 1;
myslider.maximum = 90;
myslider.value = 30;
myslider.snapInterval = 1;
myslider.liveDragging = true;
myslider.addEventListener(SliderEvent.CHANGE, slider_change);
myslider.move(640, 60);
myslider.setStyle("thumbUpSkin", thumb1);
myslider.setStyle("thumbDownSkin", thumb1);
myslider.setStyle("thumbOverSkin", thumb1);
myslider.setStyle("sliderTrackSkin", slidertrack1);
addChild(myslider);

我很感激任何建议。感谢。

2 个答案:

答案 0 :(得分:1)

事实证明myslider.widthmyslider.height对父级生效,但滑块组件的拇指和轨迹未调整大小。我不得不像这样手动调整拇指和轨道的大小:

var mysliderthumb = Sprite(myslider.getChildAt(1));
mysliderthumb.height = 34;
mysliderthumb.width = 15;

var myslidertrack = Sprite(myslider.getChildAt(0));
myslidertrack.height = 15;
myslidertrack.width = 100;

此外,因为我有myslider.direction = SliderDirection.VERTICAL,拇指和轨道被旋转了90度所以我不得不相应地翻转宽度和高度。

答案 1 :(得分:0)

设置所有属性并应用外观后,尝试调用myslider.validateNow()方法。