トップページ > ゲ製作技術 > 2011年04月03日 > wtGWHPRo

書き込み順位&時間帯一覧

1 位/98 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000004217



使用した名前一覧書き込んだスレッド一覧
◆MBbNHCnf2M
C++でRPGゲームを作成する

書き込みレス一覧

C++でRPGゲームを作成する
872 : ◆MBbNHCnf2M [sage]:2011/04/03(日) 21:10:34.12 ID:wtGWHPRo
>>871
ちょうど今書こうと思ってた所です
今週は、風邪をひいてあまり集中して出来なかったので

とりあえず、ポリゴン出したりテクスチャ貼ったりというのは理解したと思う
これで音を出す以外の大体の事は何とかなるような気がする
C++でRPGゲームを作成する
873 : ◆MBbNHCnf2M [sage]:2011/04/03(日) 21:17:09.28 ID:wtGWHPRo
で、マップスクロールについて考えていたんですけど

http://d.hatena.ne.jp/aidiary/20040918/1251373370

上記のサイトのRPGの項目にあるような、マップ全体を裏画面に描画して
そこから表示画面分だけ切り出すという方法が結構検索していると
見つかるのに驚いたわけです

これって結構スタンダードな方法なのかな?
いくらメモリを気にしなくてもいいPC環境とはいえ、マップ全体を描画って
あり得るのだろうか、少なくとも市販作品では無いような気がする
C++でRPGゲームを作成する
874 : ◆MBbNHCnf2M [sage]:2011/04/03(日) 21:23:57.58 ID:wtGWHPRo
昔はマップスクロールというと、RPG作成において一番の難所で
これが出来たらもうRPGは出来たも同然というような感じだった

特に私が使っていたMSXなんかだと、ハードウェアスクロール機能が
縦方向しかなかったので、1ドットスクロールは厳しかった

本当に最初の頃は、レイヤという概念も無くて(知らなかっただけかも)
そもそもレイヤをいくつも重ね合わせられるほどの処理速度もメモリも無かった
C++でRPGゲームを作成する
876 : ◆MBbNHCnf2M [sage]:2011/04/03(日) 21:32:21.82 ID:wtGWHPRo
そこで、どういう風にマップスクロールを実装していたかと言うと
裏画面に表示画面より、縦・横共にマップチップ1個分大きいマップを描画し
そこから1ドットずつずらしてコピーするという方法だった
ページフリッピングも出来ないわけではなかったけど、VRAM容量を考えると
そんなもったいない方法は許されなかった

今でも縦・横でマップチップ一個分だけの裏画面からコピーするのが
定番だと思っていたけれど、マップ全体からコピーするという方法が
多く見つかるというのは、そっちの方が定番のかな
C++でRPGゲームを作成する
878 : ◆MBbNHCnf2M [sage]:2011/04/03(日) 22:04:18.84 ID:wtGWHPRo
>>877
そうですか、やはり普通じゃないのか
説明しやすいからそうしているのが多いのかな

今考えている方法は
用意すべき画面
1. 表示画面分の表・裏のサーフェイス(DirectX初期標準)
2. 最終的に合成する画面、ここから1ドットずつすらして裏サーフェイスにコピー
(表示画面より縦・横1チップだけ大きい画面を確保)
3. レイヤを3つ使うとして、各レイヤ分の裏画面(これも表示画面より1チップ分だけ大きい)
4. マップチップ・キャラやNPC等のグラフィック

処理
1. まず、方向キーが押されたら、3の各レイヤ用の画面にマップ描画
2. 最下層のレイヤ分を2に画面にコピー
3. 最下層上にいるキャラクタ・NPCを2に描画
4. 2-3をレイヤ分処理
5. 2の画面から1の裏画面にコピーして裏画面を表に
6. 2-5までを1ドットずらして1チップ分処理

無駄がありそうだけれど、これでいけそうな気がする
でもテクスチャって座標指定でコピーできないから
1ドットずつコピーするのが難しそうな気が
もっとテクスチャについて勉強する必要がありそう
C++でRPGゲームを作成する
880 : ◆MBbNHCnf2M [sage]:2011/04/03(日) 22:36:46.84 ID:wtGWHPRo
>>879
失礼、連続で5回以上書き込めないようで

テクスチャ座標に負の値が使えるのは知ってます
それをどこに使うんですか?
まだ勉強中なので教えてください
C++でRPGゲームを作成する
883 : ◆MBbNHCnf2M [sage]:2011/04/03(日) 23:49:00.27 ID:wtGWHPRo
全然連続で書き込めない、この板人が少な過ぎるのか・・・


>>881
DirectX 9.0c でやろうと思ってます
つまり、DirectDrawでなくて、DirectX Graphicsですね

そのサイトも読んだんですけど、多分ポリゴンにテクスチャに貼り付けて
2Dの処理をするのがよく理解できてないんですね
特にテクスチャの扱いが多分よく分かってないので、勉強しときます
ポリゴンに単純にテクスチャ貼るところまでは理解できてる(と思う)んですが


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。