Download presentation
Presentation is loading. Please wait.
1
ゲーム用ライブラリを使用した C ++による2 D ゲーム制作 1103069松木 優
2
研究の目的 弾幕系2Dシューティングゲームを作 る。 多彩な色を使用したグラフィックと生 音のBGMによりゲームに迫力を出す。 便利なフリーウェアの活用法 C++によるオブジェクト指向プログ ラム
3
製作したゲームの紹介
4
開発環境 Visual Studio 2005 C++ DX ライブラリ Detonation EDGE Detonation EDGE
5
シューティングゲームのアルゴリズ ム ①自機の移動 ↓ ②敵機の移動 ↓ ③自機弾の移動 ↓ ④敵弾の移動 ↓ ⑤自機の表示 ↓ ⑥敵機の表示 ↓ ⑦自機弾の表示 ↓ ⑧敵弾の表示 1秒間に60回①~⑧を繰り返す。 FPS=60
6
DX ライブラリの機能1 2D ゲームに最適 。 通常、ゲーム開発ではマイクロソフトのゲーム用ラ イブラリ DirectX を使用することになるが、本研究で は、 DirectX の3 D 機能は使用しないため、2 D 機能 に特化した DX ライブラリにより短期間での開発を目 指した。
7
DX ライブラリの機能2 LoadGraph DrawGraph DrawRotaGraph LoadSoundMem PlaySoundMem CheckHitKey DrawString DrawFormatString 元画像 拡大+回転
8
オブジェクトとパラメータの 説明 class EnemyClass { boolFlag; intType; intSType; intColor; intSColor; intLife; intRoll; intCt; floatx; floaty; floatvx; floatvy; }; パラメータの設定例 敵1 EnemyApp(100, 100, 2, 2, 100, 1, NWAY1, PURPLE, RED); EnemyApp(x, y, vx, vy, life, type, ShotType, color, ShotColor);
9
ソースコードの紹介(弾クラ ス) // 方向弾 void NWayShotInit(int x, int y, int speed, float deg, int color) { int i; for(i=0 ; i<ESHOT_MAX ; i++) { if(NWayShot[i].Flag == FALSE) { NWayShot[i].Flag = TRUE; NWayShot[i].Color = color; NWayShot[i].x = x; NWayShot[i].y = y; float rad = degree2rad(deg);// ラジアン=度数 ÷ 180 ×π float c=cos(rad), s=sin(rad); NWayShot[i].vx = speed*c; NWayShot[i].vy = speed*s; break; } 発射地点 1 フレーム後
10
まとめと今後の課題 ゲームとして最低限の要素は提供できた。 プログラム、グラフィック、 BGM 等、殆どを 自作したのでモノを作るという喜びを味わえ た。 プログラミング自体、ほぼ初心者だったため、 制作に 100 時間以上かかった。 もっとコメントを付けるようにし、見やすい プログラムを心がける。 キャラやステージを増やし、機能の拡張をす る。
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.