- 「シューティングゲームの作り方/自作:ランダム弾・n-way弾」のご紹介
- 「シューティングゲームの作り方/自作」関連ページのご紹介
- シューティングゲーム・関連ページのご紹介
- 歴代名作シューティングゲームのご紹介|まとめ
- 歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
- シューティングゲームの人気シリーズのご紹介
- シューティングゲーム関連ページのご紹介|まとめ
- シューティングゲーム解説ページのご紹介|まとめ
- シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
- シューティングゲーム雑誌/書籍関連のご紹介|まとめ
- 【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
- 【名作RPG】RPGのご紹介│まとめ│
- 【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
- 【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
- TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
- 【TOP】パズルゲームのご紹介
- 【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
- 名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
- 【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
- ジャンル別ゲームタイトルのご紹介│まとめ│
- 【ゲームTOP】ゲーム関連ページのご紹介
- 【書籍・雑誌TOP】書籍・雑誌サイトマップ関連ページのご紹介
- 【ホビーTOP】ホビーサイトマップ関連ページのご紹介
「シューティングゲームの作り方/自作:ランダム弾・n-way弾」のご紹介
ご訪問ありがとうございます。
今回は、「シューティングゲームの作り方/自作:ランダム弾・n-way弾」についてご紹介します。
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
弾の初期化と生成
作成した弾をゲームに登場させましょう。弾に関する初期化処理と、弾を生成する処理をゲーム本体に追加します。自機の破壊に関する処理も追加しますが、これについては後述します。
弾のふるまいに乱数を使う場合
弾のふるまいを決定するために乱数を使う場合があるので、乱数を生成する関数も用意しておきます。このサイトでは、0以上1以下の乱数を発生する「Rand1関数」と、-0.5以上0.5以下の乱数を発生する「Rand05関数」を用意しました。
乱数の生成処理については乱数クラス(CRand)にまとめました。この乱数クラスは、松本眞氏、西村拓士氏らによって開発されたMersenneTwister法のCプログラムをベースにさせていただいております。
この乱数クラスの詳細は 下記ページの「Rand.h」と「Rand.cpp」をご覧ください。
ゲーム本体のプログラム
「プログラム5-4:ゲーム本体のクラス(Main.h、Main.cpp)」は、ゲーム本体のクラスです。移動処理では、弾の生成を8フレームごとに行います。1フレームごとに行うと、弾が多くなりすぎるからです。
forループを使って「n-way弾」を作る
forループを使って、画面上部に21個の方向弾を扇状に発射します。これはいわゆる「n-way弾」です。発射の方向は、乱数を使って微妙に変化させています。
▼「プログラム5-4:ゲーム本体のクラス(Main.h、Main.cpp)」
//ゲーム本体のクラス class CShtGame : public CGame{ //...(中略)... //乱数 CRand Rand; floatRand1() { return Rand.Real1(); } float Rand05() { return Rand.Real1()-0.5f; } //3Dモデル CMesh *MeshSauce, *MeshShot, *MeshBeam, *MeshBullet[2], *MeshNeedle[2], *MeshCrashSauce; //タスクリスト(弾のタスクリストを新規追加) CTaskList *MyShipList, *ShotList, *BeamList, *BulletList, *EffectList; }; //コンストラクタ CShtGame::CShtGame() : CGame(”紫雨(MURASAME)", true, false, false), MyShip(NULL), Time(0) { // ・・・(中略)・・・ //3Dモデルの初期化(弾の3Dモデルのロード処理を追加) LPDIRECT3DDEVICE9 device-Graphics->GetDevice(); MeshBeam-NewMesh("beam"); MeshCrashSauce=NewMesh("crash_sauce"); MeshSauce=NewMesh("sauce"); MeshShot=NewMesh("shot"); MeshBullet[0]=NewMesh("ikura_bullet"); MeshBullet[1]=NewMesh("wasabi_bullet"); MeshNeedle[0]=NewMesh("ikura_needle"); MeshNeedle[1]=NewMesh("wasabi_needle"); / /タスクリストの初期化(弾のタスクリストを新規追加)BeamList=newCTaskList(sizeof(CBeam), 100); BulletList=newCTaskList(sizeof(CDirBullet), 2000); EffectList=newCTaskList(sizeof(CMyShipCrash), 2000); MyShipList=newCTaskList(sizeof(CRevivalMyShip), 2); ShotList=newCTaskList(sizeof(CShot),100); } //移動(ゲーム本体の動作) voidCShtGame::Move(){ //弾の生成 if(Time%8==0){ float dir=Rand05()*0.06f; for(int i=-10; i<=10; i++) { new CDirBullet( Game->MeshBullet, 0, 0,-50, 0.25f+dir+0.03f*i, 0.5f, 0.01f); } } Time++; //タスクの移動 MoveTask(BulletList); MoveTask(BeamList); MoveTask(EffectList); MoveTask(MyShipList); MoveTask(ShotList); } //描画 voidCShtGame::Draw(){ //・・・(中略)・・・ //キャラクターの描画 DrawTask(EffectList); DrawTask(ShotList); DrawTask(BeamList); DrawTask(MyShipList); DrawTask(BulletList); //...(中略).. }
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「シューティングゲームの作り方/自作」関連ページのご紹介
「シューティングゲームの作り方/自作」関連ページをご紹介します。
【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 > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介
コペンギン関連ページをご紹介します。