SDL_image始めました@シューティング
こんにちはー
本日の変更点は
・コード整理
・エフェクト管理
・SDL_Image導入
さて、ますコード整理をしました。
ゲーム画面が現在は大きくInit,Update,Draw系に分かれていてそのうちUpdateとDrawを要素別に分けました。例えば、DrawEnemyとか。
そのおかげで
int DrawGame(Screen *screen){ DrawBackGround(screen->display); DrawFighter(screen->display); DrawEnemy(screen->display); DrawBullet(screen->display); DrawEffect(screen->display); return DRAW_SUCCESS; }
こんなにスマートになりました。
処理を分離するのって勇気が要りますね。
必要な変数があるか?適切な値なのか?他処理とまたがって利用されていないか?などです。
問題は、この分離?(関数化?)した関数をどのファイルへ移すとわかりやすいか。です。
う〜む、考えましたが、難しそうなので後回し。ゲームプログラムサイト参考にしていけば、いつか答えがひらめくかもしれません。
さて、次に昨日まで悩んでいたエフェクト管理ですが、描画すべきエフェクトをリスト化してから描画する方向で落ち着きました。パーティクル生成する形でのエフェクト管理ではないので、一旦これでいきます。
パーティクル生成した時って管理どうするんだろう・・・
あとは、SDL_imageを導入している途中です。SDL_imageを利用すると、jpegやPNG画像を扱うことができるようになります。
今までBMPしか読めなかったので、背景画像がとても重くなってます。
これを改善したかった。
しかし、調べてみると、難しいという記事があって若干ビビリ気味です。
以上です