現状のコードを実行すると、文字の書き始めが中央になってしまっています。(x=320の位置)
知恵を貸してください。
//String.h
#pragma once
#include"DxLib.h"
int CalcCenter(int x1,int x2,const char *str){
return ( x2+x1-GetDrawStringWidth(str,strlen(str)) )/2;
}
//main.cpp
//無駄な部分を削除したので色々おかしいかもしれませんが、文字は表示されています。
#include"DxLib.h"
#include"String.h"
static const int WINDOW_WIDTH(640);
static int column[]={
CalcCenter(0,WINDOW_WIDTH,"[TITLE]"),
CalcCenter(0,WINDOW_WIDTH,"GAME LOAD"),
CalcCenter(0,WINDOW_WIDTH,"CONFIG")
};//x方向
static int row[]={0,220,240};//y方向
int color=GetColor(255,255,255);//文字色
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
if(ChangeWindowMode(1)||DxLib_Init()==-1||SetDrawScreen(DX_SCREEN_BACK)){return -1;}
while(!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()){
DrawString(column[0],row[0],"[TITLE]",color);
DrawString(column[1],row[1],"GAME LOAD",color);
DrawString(column[2],row[2],"CONFIG",color);
}
DxLib_End();
return 0;
}