- 33 名前:名前は開発中のものです。 mailto:sage [2007/12/09(日) 05:57:18 ID:fYOmZnNF]
- >>32
クロスフェードというのは音楽のなんかみたいだがよくわからない。 ドラクエはショップを例にすると、 店の処理をポップアップ子ウィンドウを出して行う。 ドラクエの黒塗りのウィンドウがホントのウィンドウになる感じ。 店に入る時に、所持金、商品、所持アイテムなどのデータは受け取るが、 店には関係ない、主人公がどこにいるか、NPCがどこにいるかなどは、 まったく関係ない(コードに触れない)状態になっている。 もちろんデータは取って置いてあって、 店ループを抜けフィールドループに戻ると触れるようになる。 親ウィンドウメッセージが来たなら、店シーンに入る時に 保存しておいたメモリビットマップを使っての再描画、 閉じる(プログラム終了)、デフォ処理のみ行う。 子ウィンドウメッセージが来たなら、 キー、マウスによるカーソルの移動、決定、キャンセル、 WM_TIMERによるカーソルの点滅、 再描画、閉じる(店シーンの終了)、デフォ処理などを行う。 シーン切替えの説明にはなっていない気がするが、大本の違いは if(g_scene == SceneField) ** else if(g_scene == SceneShop) ** のチェックを、よくあるやり方の場合、1ループ毎に行っていると思うが、 シーンを切り替える場合は、一度チェックしたら **の所で別のゲームループまたはコールバックに入ってしまうので、 そのシーンから抜けるまでシーンのチェックは行わない。
|

|