トップページ > 過去ログ > 記事閲覧
画面のスクロール
名前:yami 日時: 2007/06/01 21:59

今、学校の課題研究で2Dシューティングを作っていて、背景をスクロールさせたいのですがどうすればいいか教えていただけませんか。

Page: 1 |

Re: 画面のスクロール ( No.1 )
名前:キーチック 日時:2007/06/02 17:32

ちょっと大きめの背景画像を作っておいて,スクロールの基準点(画面の中心点など)がその中を動いているとします. 画面に描画するのが,その周囲の画像だとすれば,640×480の画面設定で作成しているとき, 基準点の座標(x,y)に対して,(x-320,y-240)-(x+320,y+240)が対角線となるように 背景画像からDrawRectGraphで切り出して描画するというのが考えられます. これを基本として,あとは臨機応変でいろいろ考えれば良いと思います.
Re: 画面のスクロール ( No.2 )
名前: 日時:2007/06/08 10:52

 メモリに余裕がないのなら、小さなブロックを流れるように配置する、という方法がありますよ。  基本の考え方はキーチックさんと同じですが、例えば1フレームに1ドットスクロールするとして、背景の縦の長さが64(適当)だったとき、64フレームで一周するような描画座標を与えてやればいいんです。  描画基点となるy(同じような基点を64刻みで設定)があったとして、現在のフレームをn(0〜63、64になったら0にする)とすると、(y-n)とします。各基点で同じ画像を表示すると……単一な色しかない画像でなければ流れるように見えるはずです。  昔に少し作りかけて放置してある変則ブロック崩しを晒しましょうか?  C++6.0を使って書いていて、今コンパイルしてみたらStudioの方ではランタイムエラーになってしまうんですが(笑)  一応、実行ファイルは6.0の方で作れます。
Re: 画面のスクロール ( No.3 )
名前:yami 日時:2007/06/10 16:14

返信おくれてすいません。 それと、返信ありがとうございます。 雪さん、ぜひお願いします
Re: 画面のスクロール ( No.4 )
名前: 日時:2007/06/12 22:54

 ……沢山書いてたのに「http...」は含められないとかなんとかで……orz  とにかく、自分で切り出しておいて遅れてしまい大変申し訳ありません。 snowypiece.client.jp/block/sum.zip snowypiece.client.jp/block/part.zip snowypiece.client.jp/block/code.zip  一番上が生の実行プログラム、 その次が一列だけ描画するようにしたもの(チップの挙動が分かりやすいと思うので)、 最後に役に立たないとは思うのですが(非常に読みづらいです)コードです。  どれもそれなりに重いのでナローであったらスミマセン(汗)  ちゃんと覚えていたらご質問にはお答えしようと思います。  では。(Ctrl+A、Ctrl+C、っと……)
Re: 画面のスクロール ( No.5 )
名前:yami 日時:2007/06/20 16:08

雪さん、おかげさまで画面のスクロールは無事に出来ました。 相談に乗ってくださった皆さんまことにありがとうございました。

Page: 1 |