2017-07-14 1 views
1

Howler.jsライブラリ経由でサウンドサンプルを読み込むプロパティを持つオブジェクトがあります。変数を使用してオブジェクトのプロパティを強制的に値を再計算する

サンプル変数へのパスの一部は、A、B、Cなどのすべての有効なフォルダであるモード変数を使用して決定されます。

キーを押すと、モード変数が次の文字に変更されます。 しかし、再生されたサウンドは、生成された元のサウンドです。

代わりにサウンドを設定する関数を呼び出そうとしましたが、これも機能しませんでした。

私はメインの辞書オブジェクトの内部にこのような複数のオブジェクトとプロパティを持っています。手動でループせずにプロパティを更新する方法はありますか?

+0

あなたはモードを変更するためにキー入力を呼び出すコードを投稿してもらえますか?私はこれをひっくり返すことができるように少しここに欠けていると思う。 – Kevin

+0

@ケビンは、ありがとう! – mrybak3

答えて

0

いいえ、コードの先頭に設定するプロパティは単なる文字列であり、文字列、変数、文字列で構成されていることを覚えていません。

できることは、文字列値の代わりに関数を使用することです。たとえば:

var dictionary = { 
    coolSound: { 
     sound: function (mode) { 
      return new Howl({src: ["sounds/" + mode + "/bubbles.mp3"]}); 
     } 
    } 
} 

次に、あなたが行うことができますあなたのKeyDownイベントハンドラで:

dict["coolSound"].sound(mode).play(); 
関連する問題