広告
↓発売日:2018年09月22日↓
新品価格 |
STGを作ろうとして詰まるところはおそらくこんなトコロではないでしょうか。
1・動きがしょぼい
2・連射できない
3・敵データの数がすごい事になってきた
4・敵の弾データの数がすごい事になってきた
5・プログラムがすごい事になってきた
などなど。
今回使用しているDXライブラリ、またはグラフィック機能が充実している高級言語などを使用すれば動きのあるプログラムも意外に簡単に作る事ができます。
なんとなくプレイヤーを配置、敵を配置、動かしてみて、弾とばしてみて・・・。
「なんだ、STGなんて簡単に作れるじゃん!」
なんて思っていたら世の中そんなに甘くなく、あれよあれよと悲しい結果に。
弾幕系のような弾1000発軽く超えるような表示を全て個別に行う方はそうそういないと思いますが、ある程度リサイクルも頭に入れてプログラムを組んだのになにやら上手くいかない。
そんなSTG作りのギモンを解決していきたいと思います。
まず動きのしょぼさですが、x座標、y座標の縦横移動のみではどうしても動きの限界があります。
これを簡単な数学関数を使う事によって滑らかな曲線なども表現していきます。
↓y = a / x↓
↓y = ax^2↓
↓sin↓
広告
STGに登場する弾、敵などを全て個別に作るとなると膨大なプログラムの量になります。
なのでまず先に「弾の入れ物」・「敵の入れ物」などそれぞれ用意します。
そしてそこにタイミングが来たら「出現位置」・「動き方」・「ショットの種類」などを登録してその情報に従って動きなどを計算、表示していきます。
そして使い終わったらその入れ物を解放する事によって一定量で使い回せるようにします。
例えば一日1000人来店するレストランに必要な皿の枚数は1000枚ではないですよね。
同時に来店できる最大人数プラスちょっとあれば洗いながら回せますよね。
そんな感じです。
たとえば自機ショットを打つまでの流れを見てみましょう。
1・ショット発射ボタンを押す
2・現在未使用の「弾の入れ物」を調べて使用中に
3・その時のプレイヤーの「弾の動き方」を登録
4・その「弾の動き方」に応じて発射・計算・表示
5・終わったら再び「弾の入れ物」を未使用に
こんな感じになります。
そしてここに当たり判定などを加えてSTGの骨組みを作っていきます。
では次回は実際にプログラムを組んでいきましょう!
広告
↓発売日:2016年02月29日↓
12歳からはじめる ゼロからのC言語 ゲームプログラミング教室 新品価格 |
↓発売日:2018年06月22日↓
新品価格 |
↓発売日:2018年03月09日↓
新品価格 |
↓発売日:2017年06月14日↓
新品価格 |
↓発売日:2018年05月21日↓
新品価格 |
↓発売日:2017年12月07日↓
新品価格 |
↓発売日:2017年02月08日↓
新・明解C言語で学ぶアルゴリズムとデータ構造 (明解シリーズ) 新品価格 |
↓発売日:2017年09月26日↓
新品価格 |