我是ActionScripot和Flash的新手,我遇到了以下问题:
在舞台上我有一个movieclip(容器,最初宽度为200px),里面有一个进度条movieclip(最初宽度为700px),使用自由变换工具进行缩放以适合父容器。在调整场景大小时,容器的宽度会更改运行时。
在ActionScript中我有一个函数,它应该根据计算的百分比值设置进度条宽度:
private function updateProgress(event:TimerEvent):void
{
var barWidth:int = _container.width;
var progress:Number = _stream.time / _stream.duration * barWidth;
_progressBar.width = progress;
}
我的问题是即使在全时(100%),progressBar也只是父容器的1/4。我认为它来自符号原始大小。
我能以编程方式纠正这个问题吗,或者我必须用“设计师”重新设计它?
我希望我明确表达了我的问题,就像我说的那样,我是Flash新手。
提前致谢。
答案 0 :(得分:3)
如果我理解正确,您的 _progressBar 的 scaleX 会被设计者设置。 您可以做的是存储初始 scaleX 并将您的功能更改为:
...
var barScaleX = _progressBar.scaleX;
...
private function updateProgress(event:TimerEvent):void
{
var progress:Number = _stream.time / _stream.duration;
_progressBar.scaleX = barScaleX * progress;
}
这应该将进度条的宽度设置为原始比例的百分比。
答案 1 :(得分:0)
尝试将barWidth除以缩放的次数或写入原始宽度= 700px