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;
        }
}

しかしその後

2 つの問題が発生し、音量ボタンを間違った方法で作成しており、おそらく助けが必要であることがわかります

二つの問題は

  1. 音量が100、90、80などのサウンドとリンクするにはどうすればよいですか(サウンドの変換については知っていますが、このボタンでリンクする方法はまだわかりません)

  2. そして、マウスが動くのと同じくらい上下に移動できます。はい、関数と内部でこのように設定できることを知っていますif(e.buttonDown)

if (mouseY は私がランダムに推測する数よりも小さい) {then do the things}

しかし、私が知っていることは、これは効率的な方法ではないということです.

4

1 に答える 1

1

2番目の問題を解決することから始めましょう。音量ボタンが特定の高さより上または下に移動できないように、上限と下限の「上限」を実装します。とても簡単です:

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 に答える