我正在建立一個視頻播放器,我有點卡在音量滑塊部分。這是一個YouTube風格的垂直滑塊,這意味着如果滑塊處於頂部位置,音量應該是100%,並且如果滑塊被拖動到底部位置,聲音應該爲0.目前它與我想要的相反:如何反轉我的音量滑塊的音量數學?
拖動滑塊降低會使聲音更響亮,而向上拖動會降低它。
這是我下面處理的音量滑塊碼。
// Sound Controller Settings ······························
soundController = new SoundController();
soundContrColor = soundController.colorChip;
soundContrGray = soundController.grayCover;
soundContrGray.visible = false;
soundController.visible = true;
soundController.buttonMode = true;
soundController.soundSlider.addEventListener(MouseEvent.MOUSE_DOWN, sliderDown);
// SoundController Button Mouse Events ························
public function sliderDown(event:MouseEvent):void
{
soundController.soundSlider.startDrag(false, dragBounds);
soundController.soundSlider.addEventListener(MouseEvent.MOUSE_MOVE, sliderMove);
soundController.soundSlider.addEventListener(MouseEvent.MOUSE_UP, sliderUp);
soundContrGray.visible = true;
}
public function sliderMove(event:MouseEvent):void
{
soundContrGray.height = soundController.soundSlider.y;
userVolume = Math.round(((soundContrGray.y * soundContrGray.height)/10) - 4);
//userVolume = soundContrGray.height;
setVolume(userVolume);
trace("soundController.mouseY = "+soundController.soundSlider.y);
trace("soundContrColor.height = "+Math.round(soundContrGray.height));
trace("userVolume = "+userVolume+"\r");
event.updateAfterEvent();
}
public function sliderUp(event:MouseEvent):void
{
lastVolPoint = soundContrGray.height;
setVolume(userVolume);
event.updateAfterEvent();
soundController.soundSlider.stopDrag();
soundController.soundSlider.removeEventListener(MouseEvent.MOUSE_MOVE, sliderMove);
soundController.soundSlider.removeEventListener(MouseEvent.MOUSE_UP, sliderUp);
}
[TRACES]當我一路拖到頂部:
soundController.mouseY = 6
soundContrGray.height = 6
userVolume = 0
[TRACES]當我拖累了所有一路下跌:我相信這是
soundController.mouseY = 56
soundContrGray.height = 56
userVolume = 30
問題所在:
userVolume = Math.round(((soundContrGray.y * soundContrGray.height)/10) - 4);
的(-4)是偏移值,當你拖動它一直關閉它,它是0而不是4。
我需要扭轉這種不知何故,所以上面的痕跡將交換...下去將使userVolume = 4,並將上升將使它30.
預先感謝任何人看看這個! :)
什麼是'soundContrGray.y'? – 2010-02-01 20:41:50
這是一個覆蓋綠色音量指示符的灰色矩形,我試圖首先控制綠色矩形,但獲得了奇怪的結果。所以我決定改爲只在綠色頂部設置灰色矩形,因爲這是我控制矩形的方向。(修正的軌跡語句) – 2010-02-01 21:38:21