また細かい話

ブロックがボールに当たって破壊されたとき。

  • ブロックのタスクオブジェクトそのものをdeleteするべきなのか
  • ただフラグを立てて非表示状態にしておけばいいのか

答えは状況によりけり?
フラグ管理が面倒ならdeleteしちゃってもいいし、オブジェクトの生成・解体コストが気になるときには見た目だけ消しておけばいい。
違ってくるのはクリアとかゲームオーバーとかになって再初期化するときだ。
フラグを立てる場合には、進行管理タスクが「皆さん初期化してくださーい」という信号をオンにして、それを見たブロックや他のオブジェクトが自律的に自分を初期化すればいい。
しかしdeleteしてしまった場合には、進行管理タスク(もしくは別に用意された生成タスク)が消してしまった全てのブロックタスクを再生成しなければならない。
単にフラグ立てるだけの方が簡単そうだ。たくさんのオブジェクトを出したり消したりするゲームになってくると、このへんちょっとまじめに考えておいた方がいいのかもしれない。
ということで次のゲームは弾幕シューティングになる予定。