- 「シューティングゲームの作り方/自作:方向弾」のご紹介
- 「シューティングゲームの作り方/自作:方向弾」のご紹介
- 「シューティングゲームの作り方/自作」関連ページのご紹介
- シューティングゲーム・関連ページのご紹介
- 歴代名作シューティングゲームのご紹介|まとめ
- 歴代シューティングゲーム全ゲームタイトル一覧のご紹介|まとめ
- シューティングゲームの人気シリーズのご紹介
- シューティングゲーム関連ページのご紹介|まとめ
- シューティングゲーム解説ページのご紹介|まとめ
- シューティングゲーム・ハード関連(周辺機器)のご紹介|まとめ
- シューティングゲーム雑誌/書籍関連のご紹介|まとめ
- 【TPS名作・傑作・まとめ】TPS傑作・名作・全ゲームタイトルのご紹介│まとめ│~トゥームレイダー│バイオハザード│アンチャーテッドなど~
- 【名作RPG】RPGのご紹介│まとめ│
- 【TOP:SLG】おすすめ名作シミュレーションゲームのご紹介
- 【TOP】レースゲーム関連(おすすめ名作・評価ランキン)のご紹介
- TOP【おすすめスポーツゲーム】のご紹介~MLB,NBA,NFL,FIFAなど~
- 【TOP】パズルゲームのご紹介
- 【ゲームランキング】世界・国内で最も売れたゲームランキングのご紹介
- 名作ゲームのご紹介│まとめ│家庭用ゲーム・PC・アーケードなど
- 【機種別ゲームTOP】PC・家庭用・アーケードゲーム・周辺機器のご紹介
- ジャンル別ゲームタイトルのご紹介│まとめ│
- 【ゲームTOP】ゲーム関連ページのご紹介
- 【書籍・雑誌TOP】書籍・雑誌サイトマップ関連ページのご紹介
- 【ホビーTOP】ホビーサイトマップ関連ページのご紹介
「シューティングゲームの作り方/自作:方向弾」のご紹介
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「シューティングゲームの作り方/自作:方向弾」のご紹介
方向弾は、発射時に指定された方向に一定の速度で飛行する弾です。シューティングゲームにおいて、最も基本的な弾の1つだといえます。
方向弾クラスに速度と加速度を追加
方向弾クラスは、弾クラス(CBullet)から派生させます。弾クラスは、弾の回転角度を保持していましたが、方向弾クラスには、さらに速度と加速度を追加します。
例えば、X向の速度をVX、Y方向の速度をVYで表します。加速度は同様に、AXとAYなどで表します。方向弾クラスのコンストラクタには、弾の座標(x,y)、方向(dir)、速さ(spd)、加速度の大きさ(accel)といった引数を用意します。
弾クラスから派生するので、方向弾クラスのコンストラクタは最初に弾クラスのコンストラクタを呼び出します。
弾の速度、加速度の計算
次に、指定された方向と速さから、弾の速度(VX, VY)を計算します。加速度(AX, AY)も同様の方法で計算します。
弾方向の数値
このサイトでは、弾の方向は、0.0~1.0の数値で与えることにしました。0.0~1.0が0度~360度に相当します。これはラジアン(0~2πが0度~360度に相当)で指定するようにしてもかまいません。
球の移動に関して
移動に関しては、弾クラスの移動処理(CBullet::Move関数)をオーバーライドします。自機クラス(CMyShip)の場合と同様に、この関数はフレームごとに(1/60秒などの一定間隔で)繰り返し実行されます。1回の呼び出しごとに弾を少しずつ動かすことによって、連続して弾が動いているように見せるのです。
弾を加速させながら移動させる
座標に速度を加算し、速度に加速度を加算することによって、弾を加速させながら移動させます。コンストラクタの引数で加速度を0にすれば、一定速度で進む弾にすることもできます。
移動処理(弾の回転と、弾が画面外に出たかどうかの判定)
移動の最後には、弾クラスの移動処理を呼び出します。この移動処理は、弾の回転と、弾が画面外に出たかどうかの判定を行います。これはすべての弾に共通する処理です。
弾の回転について
弾の回転は、回転角度に定数を加算することによって行っています。この様子を示したのが「図.5-9方向弾の移動」です。弾を回転させることは必須ではありませんが、回転させた方が見た目に面白かったので、取り入れてみました。市販のシューティングゲームでも、弾を回転させているものをよく見かけます。
▼「図.5-9方向弾の移動」
「図.5-9方向弾の移動」 |
速度(VX,VY) |
加速度(AX,AY) |
座標(X,Y) |
回転角度 Yaw |
角度の変化 VYaw |
方向弾のプログラム
「プログラム5-3:方向弾のクラス(Bullet.h,Bullet.cpp)」は、方向弾クラスです。描画については、継承した弾クラスの描画処理(CBullet::Draw関数)をそのまま使用しています。
▼「プログラム5-3:方向弾のクラス(Bullet.h,Bullet.cpp)」
//方向弾のクラス class CDirBullet : public CBullet { //速度、加速度 //VXはX方向の速度、VYはY方向の速度 float VX, VY, AX, AY; public: //コンストラクタ、移動 CDirBullet( CMesh** mesh, int color , float x, float y, float dir , float spd, float accel); virtual bool Move(); }; //コンストラクタ CDirBullet::CDirBullet( CMesh** mesh, int color, float x, float y, float dir, float spd, float accel } : CBullet(mesh, color, x, y) { //速度 float rad=D3DX_PI*2*dir, c=cos(rad), s=sin(rad); VX=spd*c; VY=spd*s; //加速度 AX=accel*c; AY=accel*s; //回転角度(0.0~1.0が0度~360度に相当する) Yaw=dir+0.25f; } //移動 bool CDirBullet::Move() { //座標の更新 X+=VX; Y+=VY; //速度の更新 VX+=AX; VY+=AY; //弾の共通処理(回転と画面外に出たかどうかの判定) return CBullet::Move(); }
「シューティングゲームの作り方/自作」関連サイトマップのご紹介
「シューティングゲームの作り方/自作」関連をご紹介します。
シューティングゲーム | ゲーム | 中古・新品通販の駿河屋
「シューティングゲームの作り方/自作」関連ページのご紹介
「シューティングゲームの作り方/自作」関連ページをご紹介します。
【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 > ゲーム│ホビー│書籍・マンガ│■■ |
||||
サイトマップ一覧 |
懐かしの名作から最新作までの豊富な品揃え!通販ショップの駿河屋
コペンギンサイトマップ関連ページのご紹介
コペンギン関連ページをご紹介します。