int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定 init(); load(); sound(); while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0 && gpUpdateKey() == 0){ //ClsDrawScreen(); if (Key[KEY_INPUT_RIGHT] >= 1){ // 右キーが押されていたら x = x + 5; // 右へ移動 } if (Key[KEY_INPUT_DOWN] >= 1){ // 下キーが押されていたら y = y + 5; // 下へ移動 } if (Key[KEY_INPUT_LEFT] >= 1){ // 左キーが押されていたら x = x - 5; // 左へ移動 } if (Key[KEY_INPUT_UP] >= 1){ // 上キーが押されていたら y = y - 5; // 上へ移動 } switch (Menucount){ case 1:Menu(); break; case 2:Easy(); break; case 3:Normal(); break; case 4:Hard(); break; case 5:Result(); break; case 6:Help(); break; } PlaySoundMem(gamemusic, DX_PLAYTYPE_BACK, FALSE); Update(); //更新 FPSDraw(); //描画 Wait(); //待機 if (Key[KEY_INPUT_ESCAPE] == 1) DxLib_End(); // DXライブラリ終了処理 } DxLib_End(); // DXライブラリ終了処理 return 0; }
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定 SetGraphMode(512,512,16) ;//ディスプレイの大きさの設定 SceneMgr sceneMgr; sceneMgr.Initialize(); while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && gpUpdateKey()==0 ){ sceneMgr.Update(); //更新 sceneMgr.Draw(); //描画 fps(); if(Keyboard_Get(KEY_INPUT_F1) == 1){ debbattle = !debbattle; } if(debbattle){ DrawFormatString(0, 10,GetColor(255,255,255),"battle:true"); } fpsc++; } sceneMgr.Finalize(); DxLib_End(); // DXライブラリ終了処理 return 0; }
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ) { #ifdef _DEBUG ChangeWindowMode( TRUE ); //ウィンドウ起動 #endif //フルスクリーンにするか /*int YN = MessageBox(NULL,"フルスクリーンで起動しますか?","ウィンドウサイズの設定",MB_YESNO); if(YN != IDYES )ChangeWindowMode(TRUE);*/ //多重起動をできないようにする SetDoubleStartValidFlag(FALSE); SetGraphMode( 800 , 600 , 16 ) ; if( DxLib_Init() == -1 ){ return -1 ; } // DXライブラリ初期化処理 while( ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == FALSE) { //ゲームマネージャー GameManager* GameMain = new GameManager(); //メイン GameMain->Menu(); GameMain->Run(); delete GameMain; } DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 }
// -------------------------------------------------------------------- // メイン関数定義 // -------------------------------------------------------------------- int WINAPI WinMain( HINSTANCE hInstance, // 現在のインスタンスのハンドル HINSTANCE hPrevInstance, // 以前のインスタンスのハンドル LPSTR lpCmdLine, // コマンドライン int nCmdShow // 表示状態 ) { // DXLIBの初期化処理 DxLib_Init(); // ゲーム初期化 InitGame(); // ゲームループ // 以下の処理をエスケープキーが押されるまでかプレイヤーが生きている間繰り返す while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 && Player.state == STATE_LIVE) { GameMain(); } // DXLIBの終了処理 DxLib_End(); // アプリケーションの終了 return 0; }
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ChangeWindowMode(TRUE); DxLib_Init(); SetDrawScreen(DX_SCREEN_BACK); int handle = LoadGraph("image/backGround.png"); GameManager *gameMgr; gameMgr = new GameManager(); /*初期化処理*/ gameMgr->initialize(); while (!ProcessMessage() && !ScreenFlip() && !ClearDrawScreen()) { /*キーボードアップデート*/ KeyboardInput::Instance()->update(); if (KeyboardInput::Instance()->get(KEY_INPUT_ESCAPE) == 1){ break; } DrawGraph(0, 0, handle, FALSE); /*メイン処理*/ gameMgr->execute(); } /*終了処理*/ gameMgr->finalize(); delete gameMgr; DxLib_End(); return 0; }
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { SetMainWindowText( "LED ドットマトリックスカレンダー" ); // ウインドウタイトルの変更 ChangeWindowMode( TRUE ); // ウィンドウモード SetGraphMode( 600, 540, 16 ); // ウィンドウサイズの変更 SetOutApplicationLogValidFlag( false ); // ログを出力しない // DXライブラリの初期化 if( DxLib_Init() == -1 ) { MessageBox( GetMainWindowHandle(), "DXライブラリの初期化に失敗しました。\nアプリケーションを終了します。", "エラーが発生しました", MB_OK + MB_ICONEXCLAMATION ); return -1; } // 画面の描画先をリアバッファーに設定します。 SetDrawScreen( DX_SCREEN_BACK ); // ここから開始 CalSystem cals; cals.CalMain(); // DXライブラリ終了処理 DxLib_End(); return 0; }
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 ; // ソフトの終了 }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){ Window* window = new Window("Window.dat"); if(window->setUp()){ if(DxLib_Init() == 0){ GameMain* gameMain = new GameMain(); if(gameMain->init()){ gameMain->run(); } gameMain->end(); } try{ DxLib_End(); } catch(...) { } } delete window; window = nullptr; return 0; }
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ SetWindowText("Title"); SetGraphMode(WINDOW_WIDTH , WINDOW_HEIGHT,32 ); ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); int LoadImage = LoadGraph("Natsuiro/BLOCK/load.png"); DrawExtendGraph(0,0,WINDOW_WIDTH,WINDOW_HEIGHT, LoadImage ,false); ScreenFlip(); SetTransColor(255,0,255); Awake(); long long TIME = GetNowHiPerformanceCount(); # if BENCHMARK == TRUE long long int count = GetNowCount(); # endif while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && !CheckHitKey(KEY_INPUT_ESCAPE) ){ GameLoop(); Sleep( (unsigned long)max( 16 - (int)( GetNowHiPerformanceCount() - TIME ) / 1000 , 0 ) ); TIME = GetNowHiPerformanceCount(); # if BENCHMARK == TRUE DrawFormatString(WINDOW_WIDTH-200,0,BLACK,"FPS %d (%dms)", (int)( 1000/( GetNowCount() - count ) ) , GetNowCount() - count ); count = GetNowCount(); # endif } DxLib_End(); return 0; }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int CmdShow) { ChangeWindowMode(TRUE); SetGraphMode(WINDOW_X, WINDOW_Y, 32); if (DxLib_Init() == -1)return -1; SetDrawScreen(DX_SCREEN_BACK); //�錾 GameManager *gm = new GameManager(WINDOW_X, WINDOW_Y); while (ProcessMessage() != -1) { int startTime = GetNowCount(); ScreenFlip(); ClearDrawScreen(); //���� gm->All(); if (CheckHitKey(KEY_INPUT_ESCAPE) == 1)break; int endTime = GetNowCount(); WaitTimer((1000 / 60) - (endTime - startTime)); } delete gm; DxLib_End(); return 0; }
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(ProcessLoop()==0){//メインループ switch(func_state){ case 0://初回のみ入る処理 load(); //データロード first_ini();//初回の初期化 func_state=99; break; case 99://STGを始める前に行う初期化 ini(); func_state=100; break; case 100://通常処理 calc_ch(); //キャラクタ計算 ch_move(); //キャラクタの移動制御 enemy_main();//敵処理メイン graph_main();//描画メイン stage_count++; break; default: printfDx("不明なfunc_state\n"); break; } if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク ScreenFlip();//裏画面反映 } DxLib_End();//DXライブラリ終了処理 return 0; }
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ChangeWindowMode(TRUE); DxLib_Init(); SetDrawScreen(DX_SCREEN_BACK); Normal_Ball normalBall(3,4); Normal_Bar normalBar(5); normalBall.initialize(); normalBar.initialize(); while (!ProcessMessage() && !ScreenFlip() && !ClearDrawScreen()) { KeyboardInput::Instance()->update(); if (KeyboardInput::Instance()->get(KEY_INPUT_ESCAPE) == 1){ break; } normalBall.update(); normalBar.update(); normalBall.draw(); normalBar.draw(); } normalBall.finalize(); normalBar.finalize(); DxLib_End(); return 0; }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { system_init(); if (DxLib_Init() == -1 || SetDrawScreen(DX_SCREEN_BACK) != 0)return -1; // 初期化と裏画面化 game_init(); LogSP log1 = LogSP(new Log("あいうえお")); LogSP log2 = LogSP(new Log("かきくけこ")); LogSP log3 = LogSP(new Log("さしすせそ")); manager.push(log1); manager.push(log2); manager.push(log3); while (ProcessLoop()) { mso::KeyBoard::SetNowState(); manager.process(); mso::FpsController::Wait(); mso::FpsController::Draw(); ScreenFlip(); // 裏画面反映 mso::KeyBoard::KeepPrevState(); } DxLib_End(); return 0; }
Scene_Base* Title::update(){ frame++; //•Ï�X“_ if (CheckHitKey(KEY_INPUT_UP) == 1 && GetNowCount() - _T_changing > 400){ _keyCheck++; _T_changing = GetNowCount(); } if (CheckHitKey(KEY_INPUT_DOWN) == 1 && GetNowCount() - _T_changing > 400){ _keyCheck++; _T_changing = GetNowCount(); } if (CheckHitKey(KEY_INPUT_Z) == 1){ switch (_keyCheck % 2){ case 0: return new MainGame(); break; case 1: DxLib_End(); exit(0); break; } } return this; }
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode(TRUE);//ウィンドウモード if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化 int Menu = 1; load(); ini(); while(ProcessMessage()==0 && ClearDrawScreen()==0 && gpUpdateKey(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){ //↑メッセージ処理 ↑画面をクリア ↑入力状態を保存 ↑ESCが押されていない if(Key[ KEY_INPUT_SPACE ]==1 || Key[ KEY_INPUT_RETURN ]==1) Menu = 2; switch(Menu){ case 1:back_graph();break; case 2:main_graph();break; } ScreenFlip();//裏画面反映関数 } DxLib_End();//DXライブラリ終了処理 return 0; }
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ShowConsole(); ChangeWindowMode(true); SetGraphMode(288, 512, 32); SetDrawScreen(DX_SCREEN_BACK); if (DxLib_Init() == -1) { printf("DxLib起動失敗!!"); return -1; } m_pSceneManager = new SceneManager(key); m_pSceneManager->load(); m_pSceneManager->init(); while (ScreenFlip() == 0 && ProcessMessage() == 0 && getupKey() == 0) { ClearDrawScreen(); m_pSceneManager->updata(); if (key[KEY_INPUT_ESCAPE] == 1)break; } delete m_pSceneManager; return DxLib_End(); }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { Application app; ChangeWindowMode(TRUE), SetGraphMode(Application::m_windowWidth,Application::m_windowHeight, 32); SetDrawScreen(DX_SCREEN_BACK); if (DxLib_Init() == -1) // DXライブラリ初期化処理 { return -1; } //CreateConsoleWindow(); while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) { app.AppMain(); } DxLib_End(); CloseConsoleWindow(); return 0; // ソフトの終了 }
// プログラムは WinMain から始まります int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { GameScene* mGameScene; //ゲームシーンの作成 こいつが画面を見ている mGameScene = new GameScene; //インスタンス生成 GameSceneのコンストラクタでタイトルシーンをを入れている SetGraphMode(640, 480, 16); //画面の解像度 ChangeWindowMode(TRUE); if (DxLib_Init() == -1) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } // 描画先画面を裏画面にセット SetDrawScreen(DX_SCREEN_BACK); // ループ while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0) { // 画面を初期化する ClearDrawScreen(); //画面動作処理 mGameScene->Update(); //画面描画処理 mGameScene->Draw(); // 裏画面の内容を表画面に反映させる ScreenFlip(); } DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 }
//! DxLib公式ページからコピペしただけです。 // プログラムは WinMain から始まります int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { //! ウィンドウモードで描画するように設定 ChangeWindowMode(TRUE); //! ウィンドウサイズ、使用カラービット数の指定 SetGraphMode(GameManager::WindowInformation::Width, GameManager::WindowInformation::Height, GameManager::WindowInformation::ColorBit); //! 描画先をバックバッファにする(後でScreenFlipによって表にする必要がある。) SetDrawScreen(DX_SCREEN_BACK); if (DxLib_Init() == -1) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } GameManager::GetInstance().Initialize(); //メインループ while (ProcessMessage() == false && CheckHitKey(KEY_INPUT_ESCAPE) == FALSE) { GameManager::GetInstance().GameMainLoop(); } DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 }
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ // DXライブラリ初期化 ChangeWindowMode( TRUE ) ; if(DxLib_Init() == -1 ) { return -1; } CShootingScene CShootingScene; SetDrawScreen( DX_SCREEN_BACK ) ; while(1) { ClearDrawScreen(); CShootingScene.DrawImage(); ScreenFlip(); if( ProcessMessage() < 0 ) break ; #ifdef _DEBUG if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break ; #endif } // DXライブラリ終了処理 DxLib_End(); return 0; }
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int grhandle, pshandle ; VERTEX2DSHADER Vert[ 6 ] ; // ウインドウモードで起動 ChangeWindowMode( TRUE ); // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1; // 画像の読み込み grhandle = LoadGraph( "Test1.bmp" ); // ピクセルシェーダーバイナリコードの読み込み pshandle = LoadPixelShader( "SamplePS.pso" ) ; // 頂点データの準備 Vert[ 0 ].pos = VGet( 0.0f, 0.0f, 0.0f ) ; Vert[ 1 ].pos = VGet( 128.0f, 0.0f, 0.0f ) ; Vert[ 2 ].pos = VGet( 0.0f, 512.0f, 0.0f ) ; Vert[ 3 ].pos = VGet( 128.0f, 512.0f, 0.0f ) ; Vert[ 0 ].dif = GetColorU8( 255,255,255,255 ) ; Vert[ 0 ].spc = GetColorU8( 0,0,0,0 ) ; Vert[ 0 ].u = 0.0f ; Vert[ 0 ].v = 0.0f ; Vert[ 1 ].u = 1.0f ; Vert[ 1 ].v = 0.0f ; Vert[ 2 ].u = 0.0f ; Vert[ 2 ].v = 1.0f ; Vert[ 3 ].u = 1.0f ; Vert[ 3 ].v = 1.0f ; Vert[ 0 ].su = 0.0f ; Vert[ 0 ].sv = 0.0f ; Vert[ 1 ].su = 1.0f ; Vert[ 1 ].sv = 0.0f ; Vert[ 2 ].su = 0.0f ; Vert[ 2 ].sv = 1.0f ; Vert[ 3 ].su = 1.0f ; Vert[ 3 ].sv = 1.0f ; Vert[ 0 ].rhw = 1.0f ; Vert[ 1 ].rhw = 1.0f ; Vert[ 2 ].rhw = 1.0f ; Vert[ 3 ].rhw = 1.0f ; Vert[ 4 ] = Vert[ 2 ] ; Vert[ 5 ] = Vert[ 1 ] ; // 使用するテクスチャをセット SetUseTextureToShader( 0, grhandle ) ; // 使用するピクセルシェーダーをセット SetUsePixelShader( pshandle ) ; // 描画 DrawPrimitive2DToShader( Vert, 6, DX_PRIMTYPE_TRIANGLELIST ) ; // キー入力待ち WaitKey() ; // DXライブラリの後始末 DxLib_End(); // ソフトの終了 return 0; }
Boss::Boss(){ graph = MV1LoadModel("Graph/Active Frame/Active Frame.pmx"); if (!graph){ DxLib_End(); } boss_attack_sound = LoadSoundMem("sound/bomb.mp3"); ChangeVolumeSoundMem(125, boss_attack_sound); score = 20000; }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { SetWindowIconID(101); SetMainWindowText("Natasha"); ChangeWindowMode(TRUE); SetGraphMode(ScreenWidth, ScreenHeight, 32); Func::setBackgroundColor0x(0x000000); SetOutApplicationLogValidFlag(FALSE);//logを生成しないように設定 if (DxLib_Init() == 1){ return -1; }//初期化に失敗時にエラーを吐かせて終了 Input::get(); Screen::get(); GameMgr::get().loadResource(); GameMgr::get().loadButton(); while( ProcessMessage() == 0) { GameMgr::get().update(); ButtonAdder::addDValBoolButton("ToWhite"); if (DVal::bool_["ToWhite"]){ Screen::setWhiteOut(5); Screen::setShake(10); DVal::bool_["ToWhite"] = false; } if (Input::keyDown(KEY_INPUT_Z)){ Screen::setWhiteOut(5); Screen::setShake(10); } if (Input::keyDown(KEY_INPUT_X)){ } if (Input::keyDown(KEY_INPUT_C)){ } Screen::DrawStart(); //描画開始, ClearScreen { GameMgr::get().draw(); Draw.center(Input::mousePos(), Graph::handle("dot32"), 255); } Screen::DrawEnd(); //描画終了, ScreenFlip //フラグがtrueならゲーム終了 if (gameEndFlag){ break; } } DxLib_End(); return 0; }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(TRUE); if (DxLib_Init() == -1) return -1; p7(); DxLib_End(); return 0; }
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){ ChangeWindowMode(TRUE); // ウィンドウモードに設定 DxLib_Init(); // DXライブラリ初期化処理 int Handle; // データハンドル格納用変数 Handle = LoadGraph("画像/04.png"); // 画像をロード DrawGraph(50, 100, Handle, TRUE); // データハンドルを使って画像を描画 WaitKey(); // キー入力があるまで待機 DxLib_End(); // DXライブラリ終了処理 return 0; }
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定 while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){ //ここに処理を追加 } DxLib_End(); // DXライブラリ終了処理 return 0; }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { SetOutApplicationLogValidFlag(FALSE);//Log.txtを生成しないように設定 ChangeWindowMode(TRUE);//非全画面にセット SetGraphMode(SCREEN_WIDTH, SCREEN_HEIGHT, 32);//画面サイズ指定 if (DxLib_Init() == 1) { return -1; }//初期化に失敗時にエラーを吐かせて終了 SetDrawScreen(DX_SCREEN_BACK);//描画先を裏画面に fontHandle = CreateFontToHandle("Segoe UI", 20, 5, DX_FONTTYPE_ANTIALIASING_4X4);//フォントを読み込み std::vector<Enemy> vec; while (ProcessMessage() == 0) { ClearDrawScreen();//裏画面消す GetMousePoint(&mouseX, &mouseY); //マウス座標更新 keyUpdate();//(自作関数)キー更新 // Zキーが押されたらランダムな座標に敵を生成 if (keyState[KEY_INPUT_Z] == 1) { vec.emplace_back(Enemy(GetRand(SCREEN_WIDTH), GetRand(SCREEN_HEIGHT))); // 敵をインスタンス化 } // 画面外の敵を削除 auto iter = vec.begin(); while (iter != vec.end()) { if (iter->x < 0 || iter->x > SCREEN_WIDTH || iter->y < 0 || iter->y > SCREEN_HEIGHT) { //画面外に出ているか確認 iter = vec.erase(iter); } else { iter++; } } for (auto i = vec.begin(); i < vec.end(); i++) { i->update(); } for (auto i = vec.begin(); i < vec.end(); i++) { i->draw(); } DrawFormatStringToHandle(20, 20, GetColor(255, 255, 255), fontHandle, "Zキーで敵を生成 敵の数:%d", vec.size()); ScreenFlip();//裏画面を表画面にコピー } DxLib_End(); return 0; }
// プログラムは WinMain から始まります int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ChangeWindowMode(TRUE); // ウィンドウモードに設定 SetMainWindowText("東方崩固玉"); //タイトルの指定。何にしよう SetDrawScreen(DX_SCREEN_BACK); //SetBackgroundColor(0, 0, 0); //背景の色変更5 if (DxLib_Init() == -1) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } Scene scene; //現在の場面 Key_Input* m_key; //キー入力用 m_key = Key_Input::GetInstance(); //int reaction_return; //Reaction()の返り値を受け取る Flag flag; //Events *events = Events::GetInstance(); //Colors colors; //コンストラクタ FPSer fpser; Common_TH common_th; //初期化する while (1) //メインループ { ClearDrawScreen(); //画面をクリア。描画処理はこれより後に書く m_key->KeyUpdate(); //key_input.KeyUpdate(); //キー入力 //reaction_return = nowpointa->Reaction(); //キー入力などによる情報の更新 scene.Reaction(); //キー入力などによる情報の更新 scene.Draw(); //現在の場面の描画 fpser.CountFPS(); //デバッグ的な ScreenFlip(); //裏と表の仲介役。描画処理よりも後に書く if (ProcessMessage()) //×クリック待ち { break; } if (CheckHitKey(KEY_INPUT_ESCAPE) == 1) //Esc入力待ち { break; } } DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 }
// プログラムは WinMain から始まります int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { if (DxLib_Init() == -1) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } DrawPixel(320, 240, 0xffff); // 点を打つ WaitKey(); // キー入力待ち DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 }
void WaitKey() { SDL_Event event; for(;;){ if (SDL_PollEvent(&event)){ if (event.type == SDL_KEYDOWN) break; else if (event.type == SDL_QUIT){ DxLib_End(); exit(0); } } } }