- 「シューティングゲームの作り方/自作:敵の基本機能をまとめる」のご紹介
- 敵の基本機能をまとめる
- 「シューティングゲームの作り方/自作」関連ページのご紹介
- シューティングゲーム・関連ページのご紹介
- 歴代名作シューティングゲームのご紹介|まとめ
- 歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
- シューティングゲームの人気シリーズのご紹介
- シューティングゲーム関連ページのご紹介|まとめ
- シューティングゲーム解説ページのご紹介|まとめ
- シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
- シューティングゲーム雑誌/書籍関連のご紹介|まとめ
- 【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
- 【名作RPG】RPGのご紹介│まとめ│
- 【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
- 【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
- TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
- 【TOP】パズルゲームのご紹介
- 【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
- 名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
- 【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
- ジャンル別ゲームタイトルのご紹介│まとめ│
- 【ゲームTOP】ゲーム関連ページのご紹介
- 【書籍・雑誌TOP】書籍・雑誌サイトマップ関連ページのご紹介
- 【ホビーTOP】ホビーサイトマップ関連ページのご紹介
「シューティングゲームの作り方/自作:敵の基本機能をまとめる」のご紹介
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
敵の基本機能をまとめる
敵は、3Dモデル・回転角度・タイマー・耐久力・スコアといった属性を保持します。これらはすべての敵に共通する属性です。
「プログラム6-1:敵のクラス(Enemy.h、Enemy.cpp)」は、敵の基本機能をまとめたクラス(CEnemy)です。このクラスでは、自機クラスや弾クラスと同様に、new演算子とdelete演算子をオーバーロードします。タスクリストには敵タスクリスト(EnemyList)を指定します。
▼「プログラム6-1:敵のクラス(Enemy.h、Enemy.cpp)」
//敵の共通機能をまとめたクラス //移動物体クラス(CMover)から派生する class CEnemy : public CMover { protected: //3Dモデル、回転角度、タイマー CMesh* Mesh; float Yaw; int Time; public: //耐久力、スコア float Vit; int Score; //敵が発射する弾の色 int Color; //new演算子、delete演算子 void* operator new(size_t t) { return operator_new(t, Game->EnemyList); } void operator delete(void*p) { operator_delete(p, Game->EnemyList); } //コンストラクタ //移動物体クラス(CMover)のコンストラクタを呼び出す CEnemy::CEnemy( CMesh* mesh, float x, float y, float 1, float t, float r, float b, float vit, int score) CMover(Game->EnemyList, x, y,ENEMY_Z, 1, t, r, b), Mesh(mesh), Yaw(0), Time(0), Vit(vit), Score(score) { Color=(int)(Game->Rand1()+0.5f); } //3Dモデルの描画 void DrawMesh( float x, float y, float z, float sx, float sy, float sz, float tx, float ty, float tz, TURN_ORDER to, float a,bool aa); }; //描画 //メッシュクラスを利用 void CEnemy::DrawMesh( float x, float y, float z, float sx, float sy, float sz, float tx, float ty, float tz,TURN_ORDER to, float a,bool aa ){ Mesh->Draw( x, y, z, sx, sy, sz, tx, ty, tz, to, a, aa); }
小さな敵の基本機能をまとめる
赤身や玉子といった、すべての小さな敵に共通する機能をまとめましょう。まず、小さな敵を生成するときには、座標・当たり判定・耐久力・スコアなどを初期化する必要があります。
当たり判定の設定方法
当たり判定の設定方法は弾の場合と同様です。4つの数値を使って、敵の当たり判定の左端・上端・右端・下端の座標を表します。
これらは敵の中心点からの相対座標です。それぞれの値を0に近くすると当たり判定が小さくなり、0から遠くすると当たり判定が大きくなります。この当たり判定は、自機との接触判定の他、ショットやビームとの接触判定にも使用します。
小さな敵を移動する際には、敵が画面下方に消えたら敵を消去します。耐久力が0以下になったときには、スコアを加算して、爆発を表示します。スコアの加算については後述します。
3Dモデルは少し傾けると立体感が出る
3Dモデルを使って小さな敵を描画する場合には、3Dモデルを少し傾けて(45度ほど)表示するとよいでしょう。傾けない場合には3Dモデルを真上から見下ろした表示になるのですが、少し傾けると立体感が出ます。「プログラム6-2:小さな敵のクラス(Enemy.h、Enemy.cpp)」は、小さな敵のクラス(CSmallEnemy)です。
▼「プログラム6-2:小さな敵のクラス(Enemy.h、Enemy.cpp)」
//小さな敵のクラス //敵クラス(CEnemy)から派生する class CSmallEnemy : public CEnemy{ public: CSmallEnemy(CMesh* mesh,float x); virtual bool Move(); virtual void Draw(); }; //コンストラクタ //CEnemyコンストラクタの引数は、最初は3Dモデル、次の2つが座標、 //その次の4つが当たり判定、最後の2つが耐久力とスコア CSmallEnemy::CSmallEnemy(CMesh* mesh, float x) CEnemy(mesh, x, -54, -2.5f, -2.5f, 2.5f, 2.5f, 10, 100) {} //移動 //移動物体クラスの移動処理(CMover::Move関数)をオーバーライド bool CSmallEnemy::Move() { //耐久力が0以下になったらスコアを加算して爆発を表示 if (Vit<=0){ Game->AddScore(Score); new CEnemyCrash(X, Y); return false; } //画面下方に消えたらタスクを消去 //移動処理の戻り値をfalseにすると //移動処理を呼び出す処理(MoveTasks関数)の働きによって //この敵のタスクは消去される returnY<50+8; } //描画 //移動物体クラスの描画処理(CMover::Draw関数)をオーバーライド //「プログラム6-1:敵のクラス(Enemy.h、Enemy.cpp)」のDrawMesh関数を利用 voidCSmallEnemy::Draw(){ DrawMesh(X,z,Y,1,1,1,0.125f,Yaw,0,TO_ZYX,1,false); }
▼「プログラム6-1:敵のクラス(Enemy.h、Enemy.cpp)」のご紹介
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「シューティングゲームの作り方/自作」関連ページのご紹介
「シューティングゲームの作り方/自作」関連ページをご紹介します。
【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 > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介
コペンギン関連ページをご紹介します。