まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
自機の消滅処理とシールドを追加しました。
こんな感じ↓
自機死亡エフェクトは、ちょっと頑張って爆破や破片を表示させてみた。
シールドに関しては表示させてるだけで、まだ当たり判定などは実装出来てません^^;
この自機の消滅処理ですが、考え方がわかっていないと結構どうやって良いか悩むんですよね。
私も以前悩んでいたのですが、自分の実装方法としては死亡している時間をカウントする変数を
用意して、例えばカウント変数をch.deadcntだとすると、生存時はch.deadcntを-1にしておきます。
(別に-1でなくても自分の使いやすい数字でOK)
で、死亡した時にch.deadcntに300程度を代入して、ゲームフレームが進むたびに-1します。
そして、300~150の間は自機を移動出来ない&表示しないようにしておいて爆破表示、
150~0の間は自機の当たり判定を行わずに移動と自機表示処理、-1になったら通常通りの処理
を行えば、消滅&生存処理が出来る・・・と言った感じで実装しています。
シールドに関しては、もうちょっとテクスチャをなんとかしたいなぁと思いつつ、コレといった
案もないので、どうしたものかと思っているのですが、結局このままな気もします(笑)
こんな感じ↓
自機死亡エフェクトは、ちょっと頑張って爆破や破片を表示させてみた。
シールドに関しては表示させてるだけで、まだ当たり判定などは実装出来てません^^;
この自機の消滅処理ですが、考え方がわかっていないと結構どうやって良いか悩むんですよね。
私も以前悩んでいたのですが、自分の実装方法としては死亡している時間をカウントする変数を
用意して、例えばカウント変数をch.deadcntだとすると、生存時はch.deadcntを-1にしておきます。
(別に-1でなくても自分の使いやすい数字でOK)
で、死亡した時にch.deadcntに300程度を代入して、ゲームフレームが進むたびに-1します。
そして、300~150の間は自機を移動出来ない&表示しないようにしておいて爆破表示、
150~0の間は自機の当たり判定を行わずに移動と自機表示処理、-1になったら通常通りの処理
を行えば、消滅&生存処理が出来る・・・と言った感じで実装しています。
シールドに関しては、もうちょっとテクスチャをなんとかしたいなぁと思いつつ、コレといった
案もないので、どうしたものかと思っているのですが、結局このままな気もします(笑)
PR
先日制作した透明テクスチャを使った3DのモデルをDXライブラリで表示させてみようとした
のですが、どうも上手く表示出来ませんでした。
上手く表示されないと言うか全く表示されなくてアレコレ試してみると、どうもテクスチャの設定を
透明部分で設定していては駄目なようで、模様部分で設定してテクスチャ自体をpngファイルを
使って、アルファチャンネルで透明部分を指定するのが良いようです。

こんな感じでGIMP2で透過する部分をアルファチャンネル指定します。

テクスチャの設定は模様部分で指定しても、アルファチャンネルで指定した部分は透過されます。
で、とりあえずDXライブラリでモデルは表示されるようになったのですが・・・

こんな感じで、何か変な影が入ってしまうんですよね。
なんでかなー?と思いつつ色々試してみると、3Dのモデル製作時に面を反転させていないと
こんな影が入る事が解りました。

選択部処理から面を反転を選んで反転させると上手く表示してくれました^^
で、上手く出来た!と思って3Dモデル同士を重ねてみると、なんか変です。

手前のモデルは上手く透過されていますが、奥にあるはずの赤い四角のモデルが上手く透過
されていません^^;
テクスチャの画像を変更してみたり、モデルを作りなおしてみたりしてみたのですが上手くいかず
Twitterで上手く出来ねぇぇぇと呟いていたら、解決方法を教えて頂けました^^;
何か、教えてもらってばかりで申し訳ない気持ちでいっぱいです(滝汗)
原因はモデルの描画順序で、不透明モデルを先に描画してから透明モデルを描画するのが
基本なようで、私の場合は見事に反対に表示させていたので上手く描画されなかったようです。
透過指定しているのだから、描画順序など関係ないと思い込んでいました^^;
で、描画順序を変えてやると上手く表示されました^^

これを踏まえて、簡単な透過3Dモデル表示プログラムを作ってみました↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1294159059
動かすとこんな感じ↓

アローキーでシールドモデルの移動
Z⇔Aで奥行き変更
X⇔S、C⇔D、V⇔Fでモデルの角度を変更出来ます。
とりあえずコレでシールドモデルの表示は出来そうなので、ゲームに組み込んで自機死亡処理
などと絡めて作って行こうかと思っています^^
のですが、どうも上手く表示出来ませんでした。
上手く表示されないと言うか全く表示されなくてアレコレ試してみると、どうもテクスチャの設定を
透明部分で設定していては駄目なようで、模様部分で設定してテクスチャ自体をpngファイルを
使って、アルファチャンネルで透明部分を指定するのが良いようです。
こんな感じでGIMP2で透過する部分をアルファチャンネル指定します。
テクスチャの設定は模様部分で指定しても、アルファチャンネルで指定した部分は透過されます。
で、とりあえずDXライブラリでモデルは表示されるようになったのですが・・・
こんな感じで、何か変な影が入ってしまうんですよね。
なんでかなー?と思いつつ色々試してみると、3Dのモデル製作時に面を反転させていないと
こんな影が入る事が解りました。
選択部処理から面を反転を選んで反転させると上手く表示してくれました^^
で、上手く出来た!と思って3Dモデル同士を重ねてみると、なんか変です。
手前のモデルは上手く透過されていますが、奥にあるはずの赤い四角のモデルが上手く透過
されていません^^;
テクスチャの画像を変更してみたり、モデルを作りなおしてみたりしてみたのですが上手くいかず
Twitterで上手く出来ねぇぇぇと呟いていたら、解決方法を教えて頂けました^^;
何か、教えてもらってばかりで申し訳ない気持ちでいっぱいです(滝汗)
原因はモデルの描画順序で、不透明モデルを先に描画してから透明モデルを描画するのが
基本なようで、私の場合は見事に反対に表示させていたので上手く描画されなかったようです。
透過指定しているのだから、描画順序など関係ないと思い込んでいました^^;
で、描画順序を変えてやると上手く表示されました^^
これを踏まえて、簡単な透過3Dモデル表示プログラムを作ってみました↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1294159059
動かすとこんな感じ↓
アローキーでシールドモデルの移動
Z⇔Aで奥行き変更
X⇔S、C⇔D、V⇔Fでモデルの角度を変更出来ます。
とりあえずコレでシールドモデルの表示は出来そうなので、ゲームに組み込んで自機死亡処理
などと絡めて作って行こうかと思っています^^
敵弾がスローになっている時に敵をホーミングで倒すと敵弾がアイテムになるようにしてみました。
こんな感じ↓
システム的には色々と迷走中なのですが、アイテムじゃらじゃら感と倍率的な要素があると
良いかなぁと思っています。
アイテムはメタセコイアで三角形を作って並べただけです^^;

こんな感じで作って表示させているのですが、3D表示だと回転させるだけで色んな角度の表示が
出来るので便利だなぁと^^
後は、自機のバリアも追加して近接攻撃をやりやすくして、バリア取得→敵に接近してホーミング→
無敵状態になってアイテムじゃらじゃら・・・みたいな流れに出来たら面白いかなぁと思って
追加してみようかと思っています^^
こんな感じ↓
システム的には色々と迷走中なのですが、アイテムじゃらじゃら感と倍率的な要素があると
良いかなぁと思っています。
アイテムはメタセコイアで三角形を作って並べただけです^^;
こんな感じで作って表示させているのですが、3D表示だと回転させるだけで色んな角度の表示が
出来るので便利だなぁと^^
後は、自機のバリアも追加して近接攻撃をやりやすくして、バリア取得→敵に接近してホーミング→
無敵状態になってアイテムじゃらじゃら・・・みたいな流れに出来たら面白いかなぁと思って
追加してみようかと思っています^^
先日製作した回転して移動するエフェクトその2を元に無敵終了時のエフェクトを追加してみました。
こんな感じ↓
うーん、なんか違う気がする^^;
無敵時間や増減時間は後で修正するつもりなので、とりあえず表示させただけなのですが
もっとスローがかかったような動きにしたいのですが、動きを遅くすると表示時間が増えるので
その分、早くに出現されると終了のエフェクトっぽくないですし、どうしたもんかなぁーと思ったり。
まぁ、この部分は今の所重要な部分ではないので、とりあえずコレで保留しておいて
後で考えます^^;
こんな感じ↓
うーん、なんか違う気がする^^;
無敵時間や増減時間は後で修正するつもりなので、とりあえず表示させただけなのですが
もっとスローがかかったような動きにしたいのですが、動きを遅くすると表示時間が増えるので
その分、早くに出現されると終了のエフェクトっぽくないですし、どうしたもんかなぁーと思ったり。
まぁ、この部分は今の所重要な部分ではないので、とりあえずコレで保留しておいて
後で考えます^^;
先日作ったプログラムを元に爆破エフェクトを追加して動くようにしてみました。
こんな感じ↓
なかなかソレっぽくなったのではないかと自分では思っています^^;
プログラムはコチラ↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1289408411
爆破エフェクト画像はDetonation v1.2で制作してGIMP2でボヤかしてみました。

こんな感じ。
動画にもありますが、移動する際のパラメータを色々と弄るとボムっぽくなったり爆破っぽく
なったりするなぁと思って、色々とパラメータを弄ってみると自分では予想出来なかった動きが
出来たりして楽しいです^^
上手く関数を作れば、パラメータを指定するだけで爆破エフェクトなども出せるのではないかなぁと
思って、トライ&エラーを繰り返しています^^
こんな感じ↓
なかなかソレっぽくなったのではないかと自分では思っています^^;
プログラムはコチラ↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1289408411
爆破エフェクト画像はDetonation v1.2で制作してGIMP2でボヤかしてみました。
こんな感じ。
動画にもありますが、移動する際のパラメータを色々と弄るとボムっぽくなったり爆破っぽく
なったりするなぁと思って、色々とパラメータを弄ってみると自分では予想出来なかった動きが
出来たりして楽しいです^^
上手く関数を作れば、パラメータを指定するだけで爆破エフェクトなども出せるのではないかなぁと
思って、トライ&エラーを繰り返しています^^
カレンダー
02 | 2025/03 | 04 |
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が特に好きで、並木学氏は最高!
ブログ内検索
最古記事