ページ 11

初心者です

Posted: 2009年2月15日(日) 05:31
by イケ
またまた投稿失礼します。
今、DXライブラリで敵と遭遇する段階まできたのですが、
そのあと、戦闘シーンに入るため、違う画面を出したいのですがどうすればよいでしょう?
短文ですみません。

Re:初心者です

Posted: 2009年2月15日(日) 08:14
by s-rush
メインループでfunc_stateでswitchの条件分岐してはどうでしょうか?

たとえば、
#include "DXlib.h"

int func_state;

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
    ChangeWindowMode(TRUE);//ウィンドウモード
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化

        while(1){//メインループ
            switch(func_state){
                  case 0:
                     if(敵に遭遇したら)
                     func_state=1;  //戦闘シーンへ
                     break;
                  case 1:
                     戦闘シーン
           戦闘終了後、func_state=0;   //メインへ
                     break;
              }

        if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク
        ScreenFlip();//裏画面反映
    }

    DxLib_End();//DXライブラリ終了処理
    return 0;
}
こういう感じに。

Re:初心者です

Posted: 2009年2月15日(日) 10:07
by kazuoni
敵に出会うフラグが立ったら、
その画面をキャプチャーします。
それから
今までのフィールドデータを破棄し、
戦闘用画像を読み込む。
この間は画面がだんだん暗くなったり、画面が割れたり・・・
なんて処理をすればよいかと。
すべての戦闘用の準備が整ったら
キャプチャーした画像を破棄して、戦闘へ突入。

Re:初心者です

Posted: 2009年2月15日(日) 16:08
by Dixq (管理人)
私もお二方と同じような方法で実装しています。
サンプルプログラミングの館にサンプルがありますので、
よければご覧下さい。