0

我一直在尝试制作一个简单的声音播放器,它也有音量控制,但我不知道如何让它与音量连接,

我确实做了一个可以拖动的按钮,但我想设置它的最大值 x 和 y ,

所以我做了这个,

vol_player_btn.addEventListener(MouseEvent.MOUSE_MOVE,buttonInside);

protected function buttonInside(e:MouseEvent):void {
    if (e.buttonDown) {
            vol_player_btn.x = 480;
            vol_player_btn.y = mouseY;
        }
}

但是之后

出现了两个问题,这告诉我我将音量按钮设置为错误的方式,也许我需要帮助

这两个问题是

  1. 我如何将它与音量为 100、90、80 等的声音联系起来(我知道声音转换,但仍然不知道如何将它与此按钮联系起来)

  2. 它可以像鼠标移动一样上下移动,是的,我知道我可以在函数中和内部设置这样的东西if(e.buttonDown)

如果(mouseY 小于我随机猜测的数字){然后做事}

但我知道这不是一种有效的方式,所以我很想听听你关于音量功能的想法

4

1 回答 1

1

让我们从解决第二个问题开始。您想实现一个上下“上限”,以便音量按钮不能高于或低于某个高度。做起来很简单:

if (e.buttonDown) {
            vol_player_btn.x = 480;
            vol_player_btn.y = mouseY;

            // Logic to keep button y value between a min and max value
            if(vol_player_btn.y > MAX_HEIGHT) 
                vol_player_btn.y = MAX_HEIGHT;
            if(vol_player_btn.y < MIN_HEIGHT) 
                vol_player_btn.y = MIN_HEIGHT;
        }

要解决第一个问题,您需要将按钮的高度范围(例如 120 到 320)转换为典型的音量值(0 到 100)。你可以简单地通过找到百分比来做到这一点:

percentage = (vol_player_btn.y - MIN_HEIGHT) / (MAX_HEIGHT - MIN_HEIGHT)

使用上面的公式,如果按钮高度处于最低点(例如 y = 120px),则百分比将等于 0。如果它处于最高点(例如 y = 340),则百分比将等于 100。在它的中点(例如 y = 230)百分比将等于 50,依此类推。

于 2013-11-15T09:31:12.047 回答