まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
自機のロックオン方法を、まとめてロックオンする方法と、ボタンをおしている間は勝手に
レーザーが発射される方法との2種類に切り替えれるようにしてみました。
こんな感じ↓
画面左下の表示が「LOCK」だとまとめてロックオン、「FREE」だと発射ボタンをおしている間は
勝手にレーザーが発射されます。
ロックオンでまとめて敵を倒すと倍率が掛かる・・・みたいにしようかと。
敵の種類も2種類程追加していますが、まだランダムで表示させているだけですので、全然ゲームに
なってないですね^^;
とりあえず、敵の種類をもっと増やして、タイムテーブルを導入してちゃんと敵が出現するように
しようかと思っています。
あと、自機の攻撃方法も何かボム的な物を追加したいと思ってアレコレと考え中です^^;
レーザーが発射される方法との2種類に切り替えれるようにしてみました。
こんな感じ↓
画面左下の表示が「LOCK」だとまとめてロックオン、「FREE」だと発射ボタンをおしている間は
勝手にレーザーが発射されます。
ロックオンでまとめて敵を倒すと倍率が掛かる・・・みたいにしようかと。
敵の種類も2種類程追加していますが、まだランダムで表示させているだけですので、全然ゲームに
なってないですね^^;
とりあえず、敵の種類をもっと増やして、タイムテーブルを導入してちゃんと敵が出現するように
しようかと思っています。
あと、自機の攻撃方法も何かボム的な物を追加したいと思ってアレコレと考え中です^^;
PR
オブジェクトの描画順序を変更出来るようにしてみました。

ちゃんと敵の下からレーザーが表示されています^^
方法は単純で、移動の計算をしている部分と描画している部分を別々にしただけ。
最初に計算だけしておいて、後でまとめて描画するって感じです。
ただ、この方法だと計算時と描画時で同じループを2回行わなければならず無駄が多い気がします。
こんな感じ↓
for(i=0;i<ENEMYMAX;i++)
{
敵の移動処理の計算
}
for(i=0;i<ENEMYMAX;i++)
{
敵の表示処理
}
移動処理と表示処理を同じループで行えば1回のループで済むんですよね。
for(i=0;i<ENEMYMAX;i++)
{
敵の移動処理の計算
敵の表示処理
}
処理的には同じループで行った方が良い気がするのですが、そうすると表示順序を変更出来なく
なってしまうし、何か良い方法ないかなぁと思いつつ、別々で行っても重たくなった感じでもないので
とりあえず、別々に分ける方法で作って行こうかと思っています。
後、自機の当たり判定を入れたり、ファイルを分割して読み込みできるようにしました。

こんな感じで分割してます。
プロジェクトファイルはコチラ↓
http://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1269456517
もっと、敵の数を増やしてゲームシステムを考えれる感じにしていこうかと思っています^^
ちゃんと敵の下からレーザーが表示されています^^
方法は単純で、移動の計算をしている部分と描画している部分を別々にしただけ。
最初に計算だけしておいて、後でまとめて描画するって感じです。
ただ、この方法だと計算時と描画時で同じループを2回行わなければならず無駄が多い気がします。
こんな感じ↓
for(i=0;i<ENEMYMAX;i++)
{
敵の移動処理の計算
}
for(i=0;i<ENEMYMAX;i++)
{
敵の表示処理
}
移動処理と表示処理を同じループで行えば1回のループで済むんですよね。
for(i=0;i<ENEMYMAX;i++)
{
敵の移動処理の計算
敵の表示処理
}
処理的には同じループで行った方が良い気がするのですが、そうすると表示順序を変更出来なく
なってしまうし、何か良い方法ないかなぁと思いつつ、別々で行っても重たくなった感じでもないので
とりあえず、別々に分ける方法で作って行こうかと思っています。
後、自機の当たり判定を入れたり、ファイルを分割して読み込みできるようにしました。
こんな感じで分割してます。
プロジェクトファイルはコチラ↓
http://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1269456517
もっと、敵の数を増やしてゲームシステムを考えれる感じにしていこうかと思っています^^
敵の攻撃を考えて行こうと思って、とりあえずレーザーを撃たしてみました。

左右から出現してレーザーで自機を挟み込んでいくような動きにしようかと。
ただ、ここで一つ問題が。
現状だと、敵よりもレーザーの方が描画順序が後なので敵の上からレーザーが描画されるので
なんだかオカシイです。
んじゃ、敵よりもレーザーを先に描画すれば良いじゃんってなるのですが、基本的に敵弾は
敵よりも後に描画しないと、敵に隠れてしまって見えない場合などがあるので、レーザーは手前に
表示したいけど、敵よりは奥に表示したいという、矛盾した状態になるんですよね。
で、どうしようかなぁと色々と考えてるんですが、現状では移動処理と描画処理を同じところで
行っているので、描画順序を入れ替えたりするのが大変なのですが、それを移動処理だけ
最初に行っておいて、描画処理をあとで一気に行うようにすれば描画順序を入れ替えるのも
簡単なんじゃないかな?と思って色々と試しています。
移動処理と描画処理を別々に行えれば、フレームスキップとかも楽に出来そうですしね^^;
でも、移動処理と描画処理を別々に行うと言う事は、余計なループが増えるような気もするので
どうなのかなぁとも思うのですが、とりあえず作ってみないと解らないので別々にしてみようかと
思っています。
出来るかどうか解りませんが(汗)
左右から出現してレーザーで自機を挟み込んでいくような動きにしようかと。
ただ、ここで一つ問題が。
現状だと、敵よりもレーザーの方が描画順序が後なので敵の上からレーザーが描画されるので
なんだかオカシイです。
んじゃ、敵よりもレーザーを先に描画すれば良いじゃんってなるのですが、基本的に敵弾は
敵よりも後に描画しないと、敵に隠れてしまって見えない場合などがあるので、レーザーは手前に
表示したいけど、敵よりは奥に表示したいという、矛盾した状態になるんですよね。
で、どうしようかなぁと色々と考えてるんですが、現状では移動処理と描画処理を同じところで
行っているので、描画順序を入れ替えたりするのが大変なのですが、それを移動処理だけ
最初に行っておいて、描画処理をあとで一気に行うようにすれば描画順序を入れ替えるのも
簡単なんじゃないかな?と思って色々と試しています。
移動処理と描画処理を別々に行えれば、フレームスキップとかも楽に出来そうですしね^^;
でも、移動処理と描画処理を別々に行うと言う事は、余計なループが増えるような気もするので
どうなのかなぁとも思うのですが、とりあえず作ってみないと解らないので別々にしてみようかと
思っています。
出来るかどうか解りませんが(汗)
先日購入したスペースインベーダー インフィニティジーンに刺激されて新たにSTGを作って
みようかと思い、ちょっとだけ作ってみました。
こんな感じ↓
見た目そのまんまです^^;
システムとしては、ロックオンレーザーは敵のみを、ショットは敵弾のみを倒す事が出来るようにして
レーザーとショットを使い分けて進めていくような感じを想像しているのですが、実際に作って
いかないと何とも言えません^^;
スピート感ある展開にしたいなぁとは思っているのですが、まだまだこれからです。
一応プロジェクトファイルはコチラ↓
http://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1269014813
現状、当たり判定は自機弾と敵弾同士しか判定していません。
とりあえず、敵&敵弾と自機との当たり判定を入れてゲームとして成り立つようにしてシステムを
考えたいなぁと思っています^^;
みようかと思い、ちょっとだけ作ってみました。
こんな感じ↓
見た目そのまんまです^^;
システムとしては、ロックオンレーザーは敵のみを、ショットは敵弾のみを倒す事が出来るようにして
レーザーとショットを使い分けて進めていくような感じを想像しているのですが、実際に作って
いかないと何とも言えません^^;
スピート感ある展開にしたいなぁとは思っているのですが、まだまだこれからです。
一応プロジェクトファイルはコチラ↓
http://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1269014813
現状、当たり判定は自機弾と敵弾同士しか判定していません。
とりあえず、敵&敵弾と自機との当たり判定を入れてゲームとして成り立つようにしてシステムを
考えたいなぁと思っています^^;
ベジェ曲線を使ったホーミングレーザーが何とか思っていたような動きをさせる事が出来ました。
とりあえず暫定完成バージョンって事で、連続ロックオンも出来るようにしてみました。
こんな感じ↓
小型機と中型機を出現させて、小型機は1発で死にますが中型機は6発打ち込まないと死なない
ようにしています。
ベジェ曲線を使ったホーミングレーザープログラム13
(右クリック→対象をファイルに保存で聴いてください)
今回は実行ファイルもいれてあるのでVC++が無くても動かせますが、何かあっても責任は
持てませんので自己責任で実行して下さい^^;
Zキーでレーザー発射。上下左右で自機移動が出来ます。
今まではメイン関数に全ての処理を書いていたのですが、コレも処理毎に関数に分けて
メイン関数から呼び出すように変更しています。
連続ロックオンについては、最初は1ループで全てをロックオンしてしまっていておかしな感じに
なっていたのですが、ロックオンを待つ変数を用意して5ループに1回ロックオン出来るように
すると良い感じで動いてくれました^^ロックオンを連射させるようなイメージ。
あと、ロックオン時に音が鳴るようにしています。
今回初めてDXライブラリでoggファイルを扱ってみたのですが、非常に簡単に音が出せてビックリ
しました。
LoadSoundMem関数で音ファイルを読み込んで、PlaySoundMem関数で鳴らすだけって感じ。
HSPの時はoggファイルを扱うだけでも結構苦労した気がするので、DXライブラリ凄いなぁと。
ロックオンの音はケツイをイメージしてたりします(笑)
とりあえずコレで、ホーミングレーザーは完成かなーと思っているのですが、処理が重いので
もうちょっと軽く出来ないかなーと思いつつ、いい加減他の事もしたいのでゲーム作製に戻ろうかと
思っています^^;
とりあえず暫定完成バージョンって事で、連続ロックオンも出来るようにしてみました。
こんな感じ↓
小型機と中型機を出現させて、小型機は1発で死にますが中型機は6発打ち込まないと死なない
ようにしています。
ベジェ曲線を使ったホーミングレーザープログラム13
(右クリック→対象をファイルに保存で聴いてください)
今回は実行ファイルもいれてあるのでVC++が無くても動かせますが、何かあっても責任は
持てませんので自己責任で実行して下さい^^;
Zキーでレーザー発射。上下左右で自機移動が出来ます。
今まではメイン関数に全ての処理を書いていたのですが、コレも処理毎に関数に分けて
メイン関数から呼び出すように変更しています。
連続ロックオンについては、最初は1ループで全てをロックオンしてしまっていておかしな感じに
なっていたのですが、ロックオンを待つ変数を用意して5ループに1回ロックオン出来るように
すると良い感じで動いてくれました^^ロックオンを連射させるようなイメージ。
あと、ロックオン時に音が鳴るようにしています。
今回初めてDXライブラリでoggファイルを扱ってみたのですが、非常に簡単に音が出せてビックリ
しました。
LoadSoundMem関数で音ファイルを読み込んで、PlaySoundMem関数で鳴らすだけって感じ。
HSPの時はoggファイルを扱うだけでも結構苦労した気がするので、DXライブラリ凄いなぁと。
ロックオンの音はケツイをイメージしてたりします(笑)
とりあえずコレで、ホーミングレーザーは完成かなーと思っているのですが、処理が重いので
もうちょっと軽く出来ないかなーと思いつつ、いい加減他の事もしたいのでゲーム作製に戻ろうかと
思っています^^;
カレンダー
06 | 2025/07 | 08 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
リンク
カテゴリー
最新記事
(04/04)
(12/26)
(12/25)
(11/17)
(10/11)
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
最古記事