やっぱり迷っているぞ(ふて8)
先週の状況です。格闘時間は2.5時間でした。なかなか先に進みませんね…
glutでウィンドウサイズを固定する
どうやらglutにはウィンドウサイズを固定する方法がないみたいなので、ウィンドウサイズ変更のコールバックに対して強制的に元のサイズに戻す処理を追加することで対処しました。
void onshape(int /*x*/, int /*y*/) { glutReshapeWindow( 800, 600 ); }
みたいな関数を、main関数かなんかで
glutReshapeFunc(onshape);
って設定すればOK.
SDLでキー入力を行なう
glutのキー入力ってキーが離されたときにしかイベントが飛んでこなかったような気がするのでゲームには使えないのだよなあ。
SDLでSDL_SetVideoMode()でウィンドウを作らないと(つまり、SDLの管理でウィンドウを作成しないと)SDL_PollEvent()が使えない。しかし、GLUIはどうやらglutCreateWindow()の返り値を要求する(つまり、glutの管理でウィンドウを作成する必要がある)らしい。つまり、SDLのキー入力とGLUIは共存できないのか?
初期化や更新にglutとSDLのどちらを使うのかをdefineで切っておいて、ゲームの時はSDL,ツールの時はglutを使うように組んでおけばOKかなあ。