忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

引き続きステージ5を作って行っています。
とりあえず3種類程、敵の種類を追加しました。
df075eae.jpg
これは自機に向かって突進してくる敵。ステージ5のBGMの開始とあわせて沢山出てきます。

a986dd0d.jpg
中型の敵。レーザーと追い越し弾の複合攻撃です。

18168caa.jpg
ギャラガみたいな雑魚。上下左右から出現します。

5面は出来たら地面を出したいと思っているのですが、良い感じの地形グラフィックが
出来ずにどうしようかと考え中です^^;
メタセコイアとかを上手く使って3DCGで地面作って、フリーのテクスチャ貼り付けたら
良い感じになりそうな気がするんですが、なかなか上手くいきません・・・
PR

背景を回転させながらスクロールさせたいと思って色々試していたのですが
イマイチ上手く出来なかったので、いつものように簡単なスクリプトを作って考えてみました。↓

回転背景スクロールスクリプト
このスクリプトを動かすとこんな感じ↓
200eb6ef.jpg
背景画像にはhamcorossam様のSTG素材を使用させてもらっています。

カーソルキーの左右に背景回転、上下でスクロールスピードを変更出来ます。

で、何を悩んでいたかと言うと、普通は背景のスクロールって画像コピー命令で表示
させると思うのですが、hspdxfixの場合はes_copy等の命令を使用すると何故か
処理速度が非常に遅くなってしまうのでコピー系の命令が使えないんですよね。
なので、es_putやes_set命令などのスプライトを使用して背景を表示させていました。

ところが、この方法だと一方向にスクロールさせるだけなら問題ないのですが
回転させるとなると、ややこしくなってきます。
縦スクロールの場合416ドット×480ドットのスプライトを上から下に動かして、またその上に
新しいスプライトを表示してスクロールさせていくのですが、これを回転させると
背景の切れ目が上手く繋がらずに表示がおかしくなってしまうんです。
なんとかスプライトを使用して良い方法はないもんかな~と考えて、良い方法を思いつきました^^

hspdxfixのスプライト機能には自動でアニメーションをしてくれる命令があります。
これを利用して、スクロールをアニメーションで表示させて、それを回転させれば背景の切れ目自体が
出来ないので良いのではないか?と考えて試してみたら上手く出来ました^^

具体的には背景をこんな感じ↓でスプライト登録して
 es_size 640,480,0,0
 repeat 480
 es_pat cnt+640,0,cnt,1
 loop
 es_link 1119,640
アニメーションさせて表示させれば、表示位置を変更しなくてもスクロールしてくれるので
表示画面よりもちょっと大きく表示させて、あとは回転させればそれっぽく見えるようになりました。

でも、やりすぎると酔いそうになるかなぁ?とも思っていて使い所が難しい感じです^^;

ステージ5を作り始めていってます。
まず開幕は3Dの縦穴から通路に出て、そこから地下都市上空に発射されるって感じに
しようと思っています。
で、やってみたかった巨大レーザーをかいくぐる演出を入れてみました↓
78f97dc6.jpg
レーザーか飛んでくる直前にワーニング表示をして、左右に避けていくって感じにしています。

で、この通路を抜けたらステージ5表示を出現させて本格的にステージ5開始です^^
ea151c40.jpg
ステージ5は地下都市みたいな感じをイメージしていたので、ステージ5作製に向けて
とりあえず↓こんな背景を作製してみました。
3f412840.jpg
地下なのに雲があるってのはおかしい気もしますが、まぁゲームなので^^;

で、なんとなく都市上空って感じには出来たかなぁと思っているのですが
他にも色々とやりたい事があって、それぞれのアイデアがまとまらずに
どうしたもんかと考えています。

ステージ5でやろうと思っている事は・・・
背景の回転スクロール(フェリオスの1面のような感じ)
龍のような巨大な多関節キャラの登場
背景の斜めもしくは横スクロール
ガルーダ2の5面のような縦穴地帯
などなど、他にもアレやコレやと悩み中です^^;
ステージ5を作る前に、ネームエントリーの曲を作ってネームエントリーを完成させて
しまおうと思って曲を作っていたのですが、なかなか良い感じの曲が出来ないので
先にステージ5を作り始めようかと思って、まずやろうと思っていた3Dでの背景表示
の為のテストスクリプトを作ってみました。

hspdxfixを使用した3Dでの背景表示スクリプト
このスクリプトを動かすとこんな感じ↓
6d63000c.jpg
側面の壁は3Dっぽく表示し、手前よりも奥の方が小さくスクロールします。

表示方法は以前書いた方法で簡単に表示出来るのですが一つ問題がありました。
側面の壁と背景の画像が綺麗に合ってスクロールしないんです。
お互いのスクロールスピードを同じにしていると、壁を縮小表示してる分
綺麗に合わないんですよね。
で、スクロールスピードを変えてみたり、表示画像の大きさを変えてみたりと
色々と試してみたのですが、いまいち上手くいきません・・・

ここでふと思いつきました。
この壁の画像は、こんな画像を読み込んで表示させています↓
s-s-stage50.jpg
これをes_d3doptを使用して3D表示させると、画像の真ん中を軸に大きくなったり
小さくなったりします。
この真ん中を軸にするってのがポイントで、読み込む画像を↓のように2倍にして読み込めば・・・
s-s-s-stage51.jpg
丁度、真ん中で回転して表示されるので上手い具合に背景と合ってくれる様になりました^^

とりあえず、これで上手く出来たのですが、本当はこれに拡大/縮小をプラスしたかったんですが
そうすると画像同士が上手くくっつかずに、おかしな事になってしまうんですよね・・・
色々と考え中です^^;
Twitter
カレンダー
01 2025/02 03
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
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]