初心者です

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

初心者です

#1

投稿記事 by イケ » 16年前

またまた投稿失礼します。
今、DXライブラリで敵と遭遇する段階まできたのですが、
そのあと、戦闘シーンに入るため、違う画面を出したいのですがどうすればよいでしょう?
短文ですみません。

s-rush

Re:初心者です

#2

投稿記事 by s-rush » 16年前

メインループで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;
}
こういう感じに。

kazuoni

Re:初心者です

#3

投稿記事 by kazuoni » 16年前

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

Dixq (管理人)

Re:初心者です

#4

投稿記事 by Dixq (管理人) » 16年前

私もお二方と同じような方法で実装しています。
サンプルプログラミングの館にサンプルがありますので、
よければご覧下さい。

閉鎖

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