int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode(TRUE); gFPS.SetDefaultFPS(60); if( DxLib_Init() == -1 ){ return -1; // エラーが起きたら直ちに終了 } ChangeFontType(DX_FONTTYPE_ANTIALIASING_EDGE); SetMouseDispFlag(TRUE); gameManager.SetStage(gameManager.Load); for(;;){ //メインループ ClearDrawScreen(); if(ProcessMessage()==-1 || GameMain()==1){break;} //ゲーム本体を実行 //FPS描画 int NowFPS = gFPS.Get(); int Col = (int)(255 * NowFPS / gFPS.GetDefaultFPS()); //DrawFormatString(500,450,GetColor(255,Col,Col),"FPS: %d",NowFPS); ScreenFlip(); if((GetJoypadInputState( DX_INPUT_KEY_PAD1 ) & PAD_INPUT_10) !=0){ GetDateTime( &Date ); std::stringstream fname; fname <<"img" << Date.Year << Date.Mon << Date.Day <<Date.Hour <<Date.Min <<GetNowCount() << ".png"; SaveDrawScreenToPNG( 0 , 0 , 480 , 480 ,fname.str().c_str()) ; } gFPS.Fix(); } DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }
void MkFontManager::SetUp(const MkDataNode* dataNode) { if (dataNode != NULL) { MK_DEV_PANEL.MsgToLog(L"< Font >", false); ChangeFontType(dataNode, MkHashStr::EMPTY); _LoadFontColors(dataNode->GetChildNode(L"FontColor")); _LoadFontStyles(dataNode->GetChildNode(L"FontStyle")); MK_DEV_PANEL.InsertEmptyLine(); } }
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){ read_xml(CONFIG_FILE_NAME, gConfig); ChangeWindowMode(gConfig.get("WindowMode",true)); SetMainWindowText( PJTITLE ); if( DxLib_Init() == -1 ){ return -1; // エラーが起きたら直ちに終了 } LPCSTR font_path = "img\\font.ttf"; // 読み込むフォントファイルのパス AddFontResourceEx(font_path, FR_PRIVATE, NULL); ChangeFont("Neuropol",DX_CHARSET_DEFAULT); ChangeFontType( DX_FONTTYPE_ANTIALIASING_EDGE ); shotButton = gConfig.get("Pad.Shot",PAD_INPUT_1); subButton = gConfig.get("Pad.Sub",PAD_INPUT_2); SetJoypadInputToKeyInput(DX_INPUT_PAD1, shotButton, gConfig.get("Key.Shot", KEY_INPUT_Z), -1, -1, -1 ) ; SetJoypadInputToKeyInput(DX_INPUT_PAD1, subButton, gConfig.get("Key.Sub", KEY_INPUT_X), -1, -1, -1 ) ; gGameManager.Set(&GameManager::Init); for(;;){ //メインループ //SetDrawScreen(DX_SCREEN_BACK); SetDrawScreen(gDrawScr); ClearDrawScreen(); if(ProcessMessage()==-1 || GameMain()==1){break;} //ゲーム本体を実行 SetDrawScreen( DX_SCREEN_BACK ) ; //裏スクリーンに描画対象を移す SetDrawBlendMode(DX_BLENDMODE_ALPHA,255); DrawGraph(0,0,gDrawScr,FALSE); //実際に描画 SetDrawBlendMode(DX_BLENDMODE_NOBLEND,0); //FPS描画 { int NowFPS = gFPS.Get(); int Col = (int)(255 * NowFPS / gFPS.GetDefaultFPS()); DrawFormatString(SCR_WIDTH-80,SCR_HEIGHT-20,GetColor(255,Col,Col),"%02dFPS",NowFPS); } ScreenFlip(); CaptureScreen(); gFPS.Fix(); } DxLib_End() ; // DXライブラリ使用の終了処理 write_xml(CONFIG_FILE_NAME,gConfig); return 0 ; // ソフトの終了 }
Scene* SceneTitleInit::Update() { int t; switch (state) { case 0: if (Bright::Instance()->ChangeBright(255, 30)) ++state; break; case 1: // データロード t = GetNowCount(); Image::Instance()->Init("data/image/image.csv"); Sound::Instance()->Init(); //ショットデータ読み込み PlayerBullet::Load(); //セーブデータ読み込み Save::Instance()->LoadSaveData(); //フォントデータ読み込み ChangeFont("MS ゴシック"); SetFontThickness(3); SetFontSize(16); ChangeFontType(1); fonts.push_back(std::make_shared<Font>("梅PゴシックC5", 24, 4, "data/font/ume-pgc5.ttf")); fonts.push_back(std::make_shared<Font>("梅PゴシックC5", 16, 3, "data/font/ume-pgc5.ttf", DX_FONTTYPE_ANTIALIASING_EDGE)); //ロードにかかった時間 t = GetNowCount() - t; // ロードが1000ms以下なら1000msまで待機 if (t < 1000) Sleep(1000 - t); ++state; break; case 2: if (Bright::Instance()->ChangeBright(0, 30)) return new SceneTitle(); } DrawBox(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT, 0xffffff, TRUE); DrawGraph(60, 40, images[0], TRUE); return this; }
StartScene::StartScene(){ bg = LoadGraph("data/image/bg/start.jpg"); ChangeFontType(DX_FONTTYPE_ANTIALIASING_EDGE_4X4); SetUseZBuffer3D(true); addMenu(); }