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

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

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

回転背景スクロールスクリプト
このスクリプトを動かすとこんな感じ↓
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
アニメーションさせて表示させれば、表示位置を変更しなくてもスクロールしてくれるので
表示画面よりもちょっと大きく表示させて、あとは回転させればそれっぽく見えるようになりました。

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

PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
02 2024/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/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]