2

いくつかのチュートリアルに従いましたが、うまくいきませんでした。無料のサンプルを使用して、単純な .WAV サウンド エフェクトを XNA に追加しようとしています。サウンドに次の名前を付けました。

SoundEffect hit1;
SoundEffect hit2;

そして、コンテンツを次のようにロードしました:

hit1= content.load<SoundEffect>("hit1")

しかし、ボタンを押してプレイを追加することになると、テストに行くと、エラーがなくてもまったく音が出ないか、ゲームがロードされてプレイ可能ですが、サウンドエフェクトが機能していません。

** // Sounds

        SoundEffect hit1;
        SoundEffect hit2;

これは私の変数名です:

// Sounds

            hit1 = Content.Load<SoundEffect>("hit1");
            hit2 = Content.Load<SoundEffect>("hit2");

これは、loadcontent メソッドでそれらをロードする方法です。

//If Keyboard Key W is Pressed or Buttong Y
                if (keys1.IsKeyDown(Keys.W) && oldKeys1.IsKeyUp(Keys.W)
                    || (oldpad1.Buttons.Y == ButtonState.Released) && (pad1.Buttons.Y == ButtonState.Pressed))
                {
                    secondsPassed = 0;
                    // IF The Target Image is a Gnome 
                    if (targets[0] == sprites[0])
                    {
                        //They whacked a gnome
                        GnomeHits = GnomeHits + 1;
                        runNum = 0;
                        secondsPassed = 0;
                        hit1.Play();

                    }
                    else
                    {
                        //They whacked a troll
                        scoreNum = scoreNum + 1;
                        runNum = runNum + 1;
                        GnomeHits = 0;
                        secondsPassed = 0;
                        hit2.Play();
                    }
                    SetUpSpriteLoop();

これは、F5 キーを押してゲームを実行したときに音を割り当てようとしているコントロール ボタンの 1 つです。キーまたはボタンを押してもまったく音がしません。

4

2 に答える 2

-1

私の最初の推奨事項は、キーボードのプレスを更新していることを確認することです。あなたのコードであなたがそれをしているのを見ることができないので、私はそれを言うだけです。これを行わないと、キーの状態が更新されないため、if ステートメントを入力することはありません。

if ステートメントを入力していることを確認したら、効果音の音量をいじって、実際に聞こえることを確認します。私は少しベースから外れているかもしれませんが、このチュートリアルに従うことをお勧めします。rbwhitaker は XNA の優れたリソースです。

于 2013-01-09T01:32:49.800 に答える