私はSDLを学び、小さなゲームを作成しようとしています。ユーザーがスペースバーを押すと、サウンドが再生されます。これはうまくいきますが、再生に約5秒かかります...どうすればこの問題を解決できますか?私は実際のファイルをチェックして、遅延がその一部であるかどうかを確認しましたが、そうでないことが判明しました。Mix_Chunkの再生に予期せぬ遅れがあります
SDL with C++ with win vista。
...
Mix_OpenAudio(22050, MIX_DEFAULT_FORMAT, 2, 4096)
...
main()
{
...
Mix_PlayMusic(BG_Music, 0); //background music
while(quit == false)
{
fps.start();
fire.handleInput(event, ship.get_x_pos());
...
}
ハンドル入力機能:それ以上が必要とされている場合は
void lasersC::handleInput(SDL_Event &event, int x)
{
Uint8 *keystates = SDL_GetKeyState(NULL);
if (keystates[ SDLK_SPACE ] && delay == 0)
{
Mix_PlayChannel(-1, laser, 0);
fired * F = new fired(NULL, S_HEIGHT - 50, x + 20);
F->shot = lasers;
F->y_pos = S_HEIGHT - 50;
F->x_pos = x + 20;
weps.push_back(F);
delay = 10;
}
}
は、私に知らせて
は、ここではいくつかの関連するコードです。
ありがとうございます!これは私にナッツを運転していた。 – Malabarba