アクションゲーム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
メリモ

アクションゲーム

#1

投稿記事 by メリモ » 12年前

2Dスクロールで背景画像はどうやって保存すればいいのですか?
長大になると思うんですけど、どうしたらいい?

アバター
雨ガエル
記事: 34
登録日時: 13年前
住所: 新潟
連絡を取る:

Re: アクションゲーム

#2

投稿記事 by 雨ガエル » 12年前

2Dスクロールのどんなゲームですか?

2Dアクションゲームだと仮定して書きます。
例えばスーパーマリオなどのファミコンゲームでは、背景を一枚の画像にするのではなく、
小さく区切った画像(チップ)を用意し、並べて描画することで背景にするという方法が一般的です。
これは、画像サイズを小さくするためです。

この方法では、各チップに番号をつけていき、その並びを配列などで管理します。

例)
チップ 0 □
チップ 1 ■
チップ 2 ×
チップ 3 ○

背景データ
00000000000000000000
01111111111111111110
01000000000000000010
01000000000000000010
01033000000000000010
01222200000000000010
01111111111111111110
00000000000000000000

実際に描画される背景
□□□□□□□□□□□□□□□□□□□□
□■■■■■■■■■■■■■■■■■■□
□■□□□□□□□□□□□□□□□□■□
□■□□□□□□□□□□□□□□□□■□
□■□○○□□□□□□□□□□□□□■□
□■××××□□□□□□□□□□□□■□
□■■■■■■■■■■■■■■■■■■□
□□□□□□□□□□□□□□□□□□□□

モリメ

Re: アクションゲーム

#3

投稿記事 by モリメ » 12年前

トイレットペーパーみたいなもんだから画像は長いですよね?
どうやって保存するのか教えて下さい

モリメ

Re: アクションゲーム

#4

投稿記事 by モリメ » 12年前

長い写真ってどうやって保存すればいいんですか?
一面分だから
縦が480くらいでも横は5000くらいになるんですが。

アバター
spaaaark・∀・
記事: 66
登録日時: 12年前
住所: 埼玉
連絡を取る:

Re: アクションゲーム

#5

投稿記事 by spaaaark・∀・ » 12年前

実はそんなに長い画像を使用していないことが現実です。

ヒントは、一定座標より大きくなったときに背景の描画場所を元に戻す、使いまわし、ということです。
5000*480の大きさの画像は、保存できないことはないですけど、実行時のメモリにも負荷がかかってしまいます。
それなら、短めの画像(といっても横が2000程度になる事は回避できませんが…)を繰り返し使いステージを延々と長く見せるほうがいいです。

背景にする画像の、一番最初と最後を同じにすれば、きれいにループすると思います。
あと、その画像を製作するならWindows付属のペイントではなくて、フリーソフトでもいいのでペイントツールをダウンロードすることをお勧めします。
クリエイティブな生活で刺激的な毎日を!

珈琲

Re: アクションゲーム

#6

投稿記事 by 珈琲 » 12年前

画面の大きさの画像1枚を2回表示してスクロールすればいいんじゃないですか?
マリオみたいなのなら、画面の右外に画像が一枚余分に描画されているようなイメージです。
進むと背景が左にずれていって、右外にあった画像が完全に画面に収まったら、その瞬間に最初の画像と入れ替えます。

モリメ

Re: アクションゲーム

#7

投稿記事 by モリメ » 12年前

いや使い回しじゃなく、一つの一連の背景を用意したいです。マリオだって
土管や、山、パックン、落とし穴、色々なオブジェクトがありますよね?そういう事です。
だから480×10000くらいの画像が必要です。どうしたらいいですか?

珈琲

Re: アクションゲーム

#8

投稿記事 by 珈琲 » 12年前

その場合は背景オブジェクトとして都度座標を指定して設置していきます。
つまり背景の上に画像を上書きして表示していきます。

メリモ

Re: アクションゲーム

#9

投稿記事 by メリモ » 12年前

480*10の画像を10個用意して
その10個の画像をどうしたらいいですか?

メリモ

Re: アクションゲーム

#10

投稿記事 by メリモ » 12年前

ゲーム上の座標 xg ygを用意して
画面上の座標をxgamen ygamenみたいに分けるのでしょうか?

ゲーム上の座標は
xg1~10000だけどゲーム画面では
480(横の長さ)に変換するんでしょうか?

良くわからないので教えて下さい。

閉鎖

“C言語何でも質問掲示板” へ戻る