- 「シューティングゲームの作り方/自作:自機と弾の当たり判定処理」のご紹介
- 「シューティングゲームの作り方/自作:自機と弾の当たり判定処理」のご紹介
- 「シューティングゲームの作り方/自作」関連ページのご紹介
- シューティングゲーム・関連ページのご紹介
- 歴代名作シューティングゲームのご紹介|まとめ
- 歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
- シューティングゲームの人気シリーズのご紹介
- シューティングゲーム関連ページのご紹介|まとめ
- シューティングゲーム解説ページのご紹介|まとめ
- シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
- シューティングゲーム雑誌/書籍関連のご紹介|まとめ
- 【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
- 【名作RPG】RPGのご紹介│まとめ│
- 【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
- 【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
- TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
- 【TOP】パズルゲームのご紹介
- 【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
- 名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
- 【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
- ジャンル別ゲームタイトルのご紹介│まとめ│
- 【ゲームTOP】ゲーム関連ページのご紹介
- 【書籍・雑誌TOP】書籍・雑誌サイトマップ関連ページのご紹介
- 【ホビーTOP】ホビーサイトマップ関連ページのご紹介
「シューティングゲームの作り方/自作:自機と弾の当たり判定処理」のご紹介
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「シューティングゲームの作り方/自作:自機と弾の当たり判定処理」のご紹介
シューティングゲームでは、自機と弾が接触したら、自機を破壊するか、もしくは自機にダメージを与える必要があります。そのために必要なのが、自機と弾との当たり判定処理です。ここまでのプログラムで、弾を動かすことはできました。次は当たり判定処理を作成します。
自機と弾との当たり判定処理方法は、2つ
自機と弾との当たり判定処理は、自機の移動処理の中で行う方法と、弾の移動処理のなかで行う方法とがあります。
それぞれの様子を「図.5-10自機と弾との当たり判定処理」に示しました。この場合、どちらの方法を使っても結果はほぼ同じなので、プログラムの構造に応じて使いやすい方法を採用するとよいでしょう。
今回は「図.5-10自機と弾との当たり判定処理」の「自機の移動処理の中で判定を行う方法」を採用しました。自機の移動を行う「Move関数」の中で、自機と弾との当たり判定処理を行います。
▼「図.5-10自機と弾との当たり判定処理」
自機の移動処理で当たり判定処理を行う方法
自機の移動処理で当たり判定処理を行う方法 (自機から弾を参照する) |
|
【1】 |
自機の移動処理(すべての弾との当たり判定処理を行う)
|
【2】 | 弾1の移動処理 |
【3】 | 弾2の移動処理 |
【4】 | 弾3の移動処理 |
【5】 | 弾4の移動処理 |
【6】 |
【1】自機の移動処理へ戻る
|
弾の移動処理で当たり判定処理を行う方法
弾の移動処理で当たり判定処理を行う方法 (弾から自機を参照する) |
|
【1】 |
弾から自機を参照する
|
【2】 |
弾1の移動処理(自機との当たり判定処理を行う)
|
【3】 |
弾2の移動処理(自機との当たり判定処理を行う)
|
【4】 |
弾3の移動処理(自機との当たり判定処理を行う)
|
【5】 |
弾4の移動処理(自機との当たり判定処理を行う)
|
【6】 |
【1】自機の移動処理へ戻る
|
クラス構成
自機と弾との当たり判定処理を行うにあたって「図.5-11当たり判定処理を行うプログラムのクラス構成」のようにクラス構成を変更しました。
自機作成で使用した自機クラス(CMyShip)を基底クラスとして、3つの派生クラスを新規に作成します。また、自機の爆発を表現するために、2つの新しいクラスを追加し、ゲーム本体クラス(CShtGame)にも変更を加えます。
各クラスの役割は以下のとおりです。
「図.5-11当たり判定処理を行うプログラムのクラス構成」
クラス構成の追加、新規作成クラス | |
クラス | 追加・作成 |
CShtGame(シューティングゲーム本体) |
効果の移動処理などを追加
|
CMyShip(自機) 当たり | 判定処理を追加 |
CAppearingMyShip(出現時の自機) | 新規作成 |
CNormalMyShip(通常時の自機) | 新規作成 |
CRevivalMyShip(復活時の自機) | 新規作成 |
CMyShipクラス
自機のクラス(CMyShip)です。自機の共通機能をまとめています。このクラスから、自機のさまざまな状態を表すクラスを派生させます。
CNormalMyShipクラス
通常時の自機を表すクラスです。弾との当たり判定処理を行います。弾に接触すると破壊されます。
CAppearingMyShipクラス
出現時の自機を表すクラスです。ゲーム開始時に使います。弾との当たり判定処理は行わないため、弾に接触しても破壊されません。
CRevivalMyShipクラス
復活時の自機を表すクラスです。自機が破壊された後に、再び自機を出現させるために使います。弾との当たり判定処理は行わないため、弾に接触しても破壊されません。出現時と復活時で自機のふるまいを変えられるように、CAppearingMyShipとは別のクラスとしました。
CEffectクラス
爆発などの効果を表すクラスです。さまざまな効果の基底クラスとなります。
CMyShipCrashクラス
自機の爆発を表すクラスです。自機が破壊されたときには、この爆発クラスのインスタンスを生成します。
CShtGameクラス
ゲーム本体のクラスです。効果の移動処理などを追加します。
当たり判定処理
「図.5-12当たり判定処理の手順」は、自機と弾の当たり判定処理の手順です。すべての弾についてループし、自機と弾の当たり判定が重なっているどうかを調べます。もしも重なっていたら、自機の耐久度を減らします。
▼「図.5-12:当たり判定処理の手順」
自機と弾の当たり判定処理開始 | ||
【1】
|
すべての弾について調べたか | |
Yes | 【4】自機と弾の当たり判定処理終了 | |
No | 【2】当たり判定が重なっているか | |
【2】
|
当たり判定が重なっているか | |
Yes | 【3】自機の耐久度を減らす | |
No | 【1】すべての弾について調べたか | |
【3】
|
自機の耐久度を減らす | |
→ | 【1】すべての弾について調べたか | |
【4】 | 自機と弾の当たり判定処理終了 |
当たり判定処理は、特定のキャラクター同士についてだけ行う
当たり判定処理は、自機と弾、自機と敵といった、特定のキャラクター同士についてだけ行います。
キャラクターの種類に応じてタスクを分類
自機弾敵・効果といったキャラクターの種類に応じてタスクを分類し、それぞれ別々のタスクリストに格納しているのは、特定のタスク間でだけ当たり判定処理を行うためです。
自機は、弾や敵とだけ当たり判定処理を行うこととします。そのためには「図.5-13:タスクの種類に応じた当たり判定処理」のように、キャラクターの種類に応じてタスクリストを分けておきます。そして、自機の当たり判定処理は、弾タスクリスト(BulletList)や敵タスクリスト(EnemyList)に属するタスクとの間でだけ行うようにします。
同様に、ショットと敵の当たり判定処理や、ビームと敵の当たり判定処理も行うことができます。それぞれ、ショットタスクリスト(ShotList)と敵タスクリストに属するタスクの間、ビームタスクリスト(BeamList)と敵タスクリストに属するタスクの間で、当たり判定処理を行えばよいのです。
▼「図.5-13:タスクの種類に応じた当たり判定処理」
「タスクの種類に応じた当たり判定処理」 | |
判定 | タスク |
自機と当たり判定を行うタスク
|
敵:EnemyList |
弾:BulletList | |
自機と当たり判定を行わないタスク
|
テキスト:TextList
|
ショット:ShotList
|
|
効果:EffectList | |
ビーム:BeamList
|
|
自機MyShipList |
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「シューティングゲームの作り方/自作」関連ページのご紹介
「シューティングゲームの作り方/自作」関連ページをご紹介します。
【STG】シューティングゲーム・サイトマップのご紹介
80年から2000年代のシューティングゲームについてご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
シューティングゲーム・関連ページのご紹介
シューティングゲーム・関連ページをご紹介します。
歴代名作シューティングゲームのご紹介|まとめ
歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
シューティングゲームの人気シリーズのご紹介
シューティングゲーム関連ページのご紹介|まとめ
シューティングゲーム解説ページのご紹介|まとめ
シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
シューティングゲーム雑誌/書籍関連のご紹介|まとめ
【ゲームジャンル別】サイトマップのご紹介
【ゲームジャンル別】サイトマップをご紹介します。
ゲームジャンル別サイトマップ | ||||
ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 |
||||
ゲームジャンル別TOP >関連ページ│名作│ランキング | ||||
【ジャンル別関連ページ】 アクション系(プラットフォーム│対戦アクション│FPS│TPS│STG│フライト)|AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
【アクション】プラットフォーム│対戦アクション│FPS│TPS│STG│フライト 【アドベンチャー】AVG│ 【RPG】RPG│SRPG│ARPG 【SLG】SLG│ストラテジー│ターン制SLG│RTS 【レース】レース 【スポーツ系】スポーツ│プロレス 【パズル】 【テーブル】麻雀 |
||||
【ジャンル別】おすすめ評価ランキング アクション│AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
【歴代傑作・神ゲー(2021~1996年)】99~94点│93~92点│91点│90点 ■【アクション系ゲーム】■ アクション│プラットフォーム│対戦アクション│FPS│TPS│フライト│ 【対戦アクション】一覧│98~80点│79~70点 【FPS】まとめ│90点以上│89~86点│85~83点│82~80点 【アドベンチャーゲーム】 ■【RPG系】■ RPG│SRPG│ARPG 【RPG】一覧│傑作(96~90点)│89~85点│84~82点│81~80点│ ■【シミュレーション系ゲーム】■ SLG│ストラテジー│ターン制SLG│RTS│街づくりSLG ■【レース】■ ■【スポーツ系ゲーム】■スポーツ│プロレス ■【パズル】 |
||||
シリーズ・テーマ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
ゲームジャンル別・関連ページのご紹介
ゲームジャンル別・関連ページをご紹介します。
【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
【格ゲー・名作】アーケード・家庭用・格闘ゲームのご紹介~名作(173 本)・全タイトル(1462本)のご紹介
【名作STG】シューティングゲームのご紹介
【AVG】アドベンチャーゲームのご紹介│まとめ│
【名作RPG】RPGのご紹介│まとめ│
【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
【TOP】パズルゲームのご紹介
ゲームTOPサイトマップ
ゲームTOPのサイトマップをご紹介します。
【ゲームTOP】サイトマップ | ||||
ゲームTOP > ランキング│傑作・名作│機種別│ジャンル別 | ||||
■ランキングTOP > ハード│ソフト(売上(世界│国内)│海外評価) ■傑作・名作ゲームTOP > ■ゲーム機種別TOP > 据置│携帯│AC│PC│周辺機器 ■ジャンル別TOP > アクション系(プラットフォーム│対戦アクション│FPS│TPS│STG│フライト)|AVG│RPG│SLG│レース│スポーツ│パズル│テーブル |
||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
ゲーム関連ページのご紹介
ゲーム関連ページをご紹介します。
【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
ジャンル別ゲームタイトルのご紹介│まとめ│
コペンギン・サイトマップ
コペンギンのサイトマップをご紹介します。
【コペンギンTOP】サイトマップ | ||||
コペンギンTOP > ゲーム│ホビー│書籍・マンガ│ | ||||
■■│コペンギンTOP > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介
コペンギン関連ページをご紹介します。