シューティングゲーム製作技術総合 15機目at GAMEDEVシューティングゲーム製作技術総合 15機目 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト45:名前は開発中のものです。 08/03/08 10:41:45 N6wkyruI 弾が消失したときの処理ってどうしてます? Class Ammo{ //弾のクラス ~~ //弾のデータ static int Num //弾の数 }Ammo[N] として、弾Ammo[i]について判定して、敵にあたるなどして消失したとき、 Ammo[Ammo::Num]をAmmo[i]に代入し、Ammo::Num--する で、もう一度(代入後の)Ammo[i]について判定する としているんですが、リストとか使った方がきれいでしょうか? 46:名前は開発中のものです。 08/03/08 12:35:05 KCgRA2Oh 弾に限らず敵でもなんでも当てはまるな 俺ならリスト使うけど それよりもAmmoクラスに弾の数を入れるのはちょっとおかしくないか Ammoを委譲するクラスを作って、その中で弾数を管理した方が・・・ class AmmoContainer { std::vector<Ammo*> ammos; public: int get_ammo_num() { return ammos.size(); } // 弾の数を返す }; とかさ 47:名前は開発中のものです。 08/03/08 15:03:14 N6wkyruI なるほど、確かにその方が綺麗ですね 自機の弾と敵機の弾でクラスを分けていたのですが、弾のクラスをひとつにして、 MyAmmoContainerとEnemyAmmoContainerのメンバクラスにすることで、区別してみようと思います ただ、自機や敵機との衝突判定があるので、 >std::vector<Ammo*> ammos; はprivateじゃなくpublicの方がいいように思うのですが (privateだと自機クラス、敵機クラスから見えませんよね) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch