RPGの仕掛けの仕組みが分からない

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

RPGの仕掛けの仕組みが分からない

#1

投稿記事 by glfd » 14年前

斜め見下ろし型のRPGについて疑問がわきました(スーパーマリオRPGを見ていて思いました)

①奥行きという概念があるためキャラクターの奥行きの並び順が常に入れ替わりますよね?
 2Dでの移動だと画像を読み込む順番を考えればよかったのですが、この場合どうすれば?

②2Dでの自然なジャンプの仕組みは分かりましたが斜め見下ろし型だと
 画面向かって奥側にジャンプした場合などy座標がもととは変わりますよね?どうすればいいのでしょう?

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

Re: RPGの仕掛けの仕組みが分からない

#2

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

①奥行きという概念があるためキャラクターの奥行きの並び順が常に入れ替わりますよね?
 2Dでの移動だと画像を読み込む順番を考えればよかったのですが、この場合どうすれば?
描画順番を見た目の奥から順にZソートします。
SFC時代の2DのアクションRPGでもRPGでも普通にしてると思いますが。
聖剣伝説2とか動画をチェックしてみてください。
[youtube][/youtube]
②2Dでの自然なジャンプの仕組みは分かりましたが斜め見下ろし型だと
 画面向かって奥側にジャンプした場合などy座標がもととは変わりますよね?どうすればいいのでしょう?
横の座標と奥行きの座標、高さの座標を別に持てば良いことです。
それらの情報を合成して画面表示します。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

glfd

Re: RPGの仕掛けの仕組みが分からない

#3

投稿記事 by glfd » 14年前

手前の方から順番に描画していくってことができるのでしょうか?
できるとしたら、どうやってやればいいのでしょうか?

2つ目のものも理解が出来ません

頭が悪くて読解力がないのも分かっています  できれば教えてください

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

Re: RPGの仕掛けの仕組みが分からない

#4

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

プログラムコードが提示されていないので概念的に説明します。
キャラクタの左下座標がCX,CZ,CHで管理されているものとします。
CXが横座標で右に行くと大きくなります。CZがマップ上の奥行きの位置座標で奥に行くほど大きくなります。CHがジャンプの高さで高いほうが大きな数値です。

①奥行き管理
キャラクタが番号で管理されていたら、キャラ番号とCZの奥行き方向の座標を構造体配列に入れてZの大→小で並ぶように構造体をソートします。
あとは、構造体を先頭から取り出して構造体に記録されたキャラ番号で描画処理すれば奥から描画できます。

②ジャンプ処理
スクリーンに表示するマップの左下座標はSX,SZで、スクリーンサイズはSCREENX,SCREENYとします。
キャラクタの画面上の左下の表示座標は 
viewX = CX - SX
viewY = SCREENY - (CZ - CH - SZ)
となります。

[追記]
これは、あくまで一例でこういう考え方もあるよって事です。
処理する方法や考え方には色いろあると思ってください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

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