RPGでのスクロールの仕方

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

RPGでのスクロールの仕方

#1

投稿記事 by speed » 14年前

すごい初歩的な質問で申し訳ないです

RPGでのマップスクロールってありますよね?画面に入りきらないマップを表示する時のアレです
それを実装したいと思っているのですが
最初に画面に全ての物体を描画しておいて(画面に入りきらないものも)
キーボード入力に応じて各オブジェクトのx座標、y座標を移動させるといったやり方しか思いつきません

このやり方は良いのでしょうか?良いというのは効率的かどうかということです
何しろ私の考えたものですので効率的かどうかわかりません
難しい質問ですが回答お願いします

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: RPGでのスクロールの仕方

#2

投稿記事 by softya(ソフト屋) » 14年前

それだと巨大なマップだと描画が遅くなる恐れがあります。
画面内のパーツだけを描画するのが最適な方法です。

ここの「C言語交流フォーラム ~ mixC++ ~」内でRPG講座を書きましたので良かったら参考にしてください。
http://dixq.net/forum/blog.php?u=114&sd=a&c=2
DQ風RPGの作成講座です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

speed

Re: RPGでのスクロールの仕方

#3

投稿記事 by speed » 14年前

ソフト屋さんのマップ管理の記事を一通り、読ませていただきました
なかなか難しそうな式が並んでいますね・・・
とりあえず一つ一つ紐解いて見ていきたいと思います

speed

Re: RPGでのスクロールの仕方

#4

投稿記事 by speed » 14年前

だいぶ難しそうですが
1マス1マス移動しないゲーム、例えばソフト屋さんの知っているものなら聖剣伝説とかです
そういうものでもRPG講座と同じ感じでできますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: RPGでのスクロールの仕方

#5

投稿記事 by softya(ソフト屋) » 14年前

RPG講座のスクロールはドット単位で行っていて、単に移動距離をマス単位で縛っているだけです。
その理由は、マップの角で引っかかってほしくなかったからなんで、そこをちゃんと作るなら別に問題有りませんよ。

[追記]
ちゃんと作るというのは、自動のマップの角避け処理を作るって事です。

大雑把な例を書くと
□が歩けるところで■が障害物で●が自キャラとして、上方向に移動する場合
■■□
□●□ 
これだと真上に移動できませんが、右上は空いてますよね。
この開いている空間に自動的に移動するって処理を追加する必要があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

speed

Re: RPGでのスクロールの仕方

#6

投稿記事 by speed » 14年前

なるほど滑らかに動くようにするためですな
勉強になりますん

閉鎖

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