以下の内容はhttps://toburau.hatenablog.jp/entry/20080710/1215656866より取得しました。


フレーム待ち

SDL_Delay()を使って指定した時間待つことができる。

void SDL_Delay(Uint32 ms);

引数にはミリ秒を指定。ただ場合によっては遅延があることもある。
サンプルではこれとSDL_GetTicks()を使ってフレーム待ちを実装している。それは次の通り。

#define	FRAMES_PER_SEC	50
void WaitFrame(void)
{
    static Uint32 next_tick = 0;
    Uint32 this_tick;

    /* Wait for the next frame */
    this_tick = SDL_GetTicks(); 
    if ( this_tick < next_tick ) {
        SDL_Delay(next_tick-this_tick);
    }
    next_tick = this_tick + (1000/FRAMES_PER_SEC);
}

これで50フレーム毎秒で更新されるようにしている。
60フレームじゃなかったのか。日本ならNTSCの60フレームにすることが多いと思うけど。作者はPALの地域の人なのかな。




以上の内容はhttps://toburau.hatenablog.jp/entry/20080710/1215656866より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14