- 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の処理をするのがよく理解できてないんですね 特にテクスチャの扱いが多分よく分かってないので、勉強しときます ポリゴンに単純にテクスチャ貼るところまでは理解できてる(と思う)んですが
|