メモリ開放の途中@シューティング
本日のお品書き
- メモリ開放
- 画面遷移
- ホーミングをレーザー化したい
- メモリ開放
昨日のメモリがなかなか開放されない件の続きです。
とりあえず、mallocしている部分の見直しと開放漏れがないか見ていきます。
Enemy構造体配列のname(charポインタ)で敵の最大数分ループしてmallocしている部分があったので、先にmallocして大枠をとってからポインタを割り当てるように修正。
それ以外はmallocした分だけfree画面切り替え時にfreeしているので、正常に開放されるはず。
→結果はほとんど同じでした。ゲーム画面に入るたび、使用メモリが15M増えて、ほかの画面に切り替わるときに7M減ります。=8Mづつメモリリークしていると思われます。
ううーむ、わからない。ある程度開放されているのはわかりますが、残りの8Mがなぜ蓄積されるのか・・・
- 画面遷移
画面がタイトル→機種選択→ゲームへと遷移できるようになりました。
画面制御機能と同じ階層にキー入力制御をつくり、各画面に入力キー値とタイプ(KeyDown/Upなど)を与えています。描画画面の入れ替えは関数ポインタを使っています。
ただ、画面は真っ黒。。。ログに”<機種を選ぶ画面>”と出るだけ。
どんどん作っていかないと。
- ホーミング弾をレーザー化したい
先週未達成に終わったホーミング弾のレーザー化。
レーザー描画レイヤーを作って画面に反映させる方法でやってみる方向に決定しました。
現在、実装中・・・