Enterキーを押した時に表示する文章を切り替えるようにすればいいと思います。
こんな感じでしょうか?
コード:
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
int image[10];
int back[10];
int mat[20];
int font;
int white = GetColor(255, 255, 255);
bool enterFlag = 0;
int hatugenCount = false;
const char* hatugen[5][3] = {
{"会話1", "会話2", "会話3"},
{"会話4", "会話5", "会話6"},
{"会話7", "会話8", "会話9"},
{"独り言1", "独り言2", "独り言3"},
{"独り言4", "独り言5", "独り言6"}
};
SetGraphMode(800, 600, 32);
ChangeWindowMode(TRUE);
if (DxLib_Init() == -1)
return -1;
back[0] = LoadGraph("./image/back1.jpg");
image[0] = LoadGraph("./image/witch.png");
mat[0] = LoadGraph("./image/box1.png");
font = CreateFontToHandle("メイリオ", 28, 1, DX_FONTTYPE_ANTIALIASING_EDGE);
SetDrawScreen(DX_SCREEN_BACK);
while (ProcessMessage() == 0 && ClearDrawScreen() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0)
{
DrawGraph(0, 0, back[0], TRUE);
DrawGraph(10, 410, mat[0], TRUE);
//この部分
if(CheckHitKey(KEY_INPUT_RETURN)) {
if(!enterFlag && hatugenCount < 4) hatugenCount++;
enterFlag = true;
} else {
enterFlag = false;
}
for (int i = 0; i < 3; i++) {
DrawStringToHandle(30, 450 + 40 * i, hatugen[hatugenCount][i], white, font);
}
ScreenFlip();
}
DxLib_End();
return 0;
}
それとも、こんな感じでしょうか?
コード:
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
int image[10];
int back[10];
int mat[20];
int font;
int white = GetColor(255, 255, 255);
bool enterFlag = false;
int kaiwaCount = 0;
const char* kaiwa[3] = {
"会話1",
"会話2",
"会話3"
};
SetGraphMode(800, 600, 32);
ChangeWindowMode(TRUE);
if (DxLib_Init() == -1)
return -1;
back[0] = LoadGraph("./image/back1.jpg");
image[0] = LoadGraph("./image/witch.png");
mat[0] = LoadGraph("./image/box1.png");
font = CreateFontToHandle("メイリオ", 28, 1, DX_FONTTYPE_ANTIALIASING_EDGE);
SetDrawScreen(DX_SCREEN_BACK);
while (ProcessMessage() == 0 && ClearDrawScreen() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0)
{
DrawGraph(0, 0, back[0], TRUE);
DrawGraph(10, 410, mat[0], TRUE);
//この部分
if(CheckHitKey(KEY_INPUT_RETURN)) {
if(!enterFlag && kaiwaCount < 2) kaiwaCount++;
enterFlag = true;
} else {
enterFlag = false;
}
DrawStringToHandle(30, 450 + 40 * kaiwaCount, kaiwa[kaiwaCount], white, font);
ScreenFlip();
}
DxLib_End();
return 0;
}