メモリ開放の途中@シューティング

本日のお品書き

  • メモリ開放
  • 画面遷移
  • ホーミングをレーザー化したい
  • メモリ開放

昨日のメモリがなかなか開放されない件の続きです。
とりあえず、mallocしている部分の見直しと開放漏れがないか見ていきます。
Enemy構造体配列のname(charポインタ)で敵の最大数分ループしてmallocしている部分があったので、先にmallocして大枠をとってからポインタを割り当てるように修正。
それ以外はmallocした分だけfree画面切り替え時にfreeしているので、正常に開放されるはず。


→結果はほとんど同じでした。ゲーム画面に入るたび、使用メモリが15M増えて、ほかの画面に切り替わるときに7M減ります。=8Mづつメモリリークしていると思われます。
ううーむ、わからない。ある程度開放されているのはわかりますが、残りの8Mがなぜ蓄積されるのか・・・


  • 画面遷移

画面がタイトル→機種選択→ゲームへと遷移できるようになりました。
画面制御機能と同じ階層にキー入力制御をつくり、各画面に入力キー値とタイプ(KeyDown/Upなど)を与えています。描画画面の入れ替えは関数ポインタを使っています。
ただ、画面は真っ黒。。。ログに”<機種を選ぶ画面>”と出るだけ。
どんどん作っていかないと。


  • ホーミング弾をレーザー化したい

先週未達成に終わったホーミング弾のレーザー化。
レーザー描画レイヤーを作って画面に反映させる方法でやってみる方向に決定しました。
現在、実装中・・・