//タイトルの描画 void draw_Title() { int FontHandle = CreateFontToHandle("HGS創英角ポップ体", 64, 8, DX_FONTTYPE_ANTIALIASING_EDGE); char *str = "Space Shooting"; int Strlen = strlen(str); int Width = GetDrawStringWidthToHandle(str, Strlen, FontHandle); DrawStringToHandle(320 - Width / 2, 208, str, GetColor(255, 255, 255), FontHandle); /*フェードイン、フェードアウト*/ SetDrawBlendMode(DX_BLENDMODE_ALPHA, char_br); str = "スペースキーを押してください"; Strlen = strlen(str); Width = GetDrawStringWidth(str, Strlen); DrawString(320 - Width / 2, 280, str, GetColor(255, 255, 255)); //ブレンドを元に戻す SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 0); if (char_br > 255 || char_br < 0) { i *= -1; } char_br += i; //フォントを削除 DeleteFontToHandle(FontHandle); }
//ゲームオーバーの描画 void draw_GameOver() { int FontHandle = CreateFontToHandle("HGS創英角ポップ体", 64, 8, DX_FONTTYPE_ANTIALIASING_EDGE); char *str = "Game Over...."; int Strlen = strlen(str); int Width = GetDrawStringWidthToHandle(str, Strlen, FontHandle); DrawStringToHandle(320 - Width / 2, 208, str, GetColor(255, 255, 255), FontHandle); /*フェードイン、フェードアウト*/ SetDrawBlendMode(DX_BLENDMODE_ALPHA, charClearOver); str = "スペースキーを押せば、もう一度プレイできます"; Strlen = strlen(str); Width = GetDrawStringWidth(str, Strlen); DrawString(320 - Width / 2, 280, str, GetColor(255, 255, 255)); //ブレンドを元に戻す SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 0); if (charClearOver > 255 || charClearOver < 0) { i *= -1; } charClearOver += i; //フォントを削除 DeleteFontToHandle(FontHandle); }
void Player::Initialize(b2World *World,string CharaType,float Density,float Friction,int MaxHP) { InitChara(World,CharaType,Density,Friction,MaxHP); //フォント読み込み DeleteFontToHandle(FontSmall); FontSmall = CreateFontToHandle( "メイリオ" , 15 , 3 ,-1,-1,2) ; DeleteFontToHandle(FontMiddle); FontMiddle = CreateFontToHandle( "メイリオ" , 20 , 7 ,-1,-1,2) ; DeleteFontToHandle(FontBig); FontBig = CreateFontToHandle( "メイリオ" , 40 , 10 ,-1,-1,3) ; //スキルの初期化 for(int i=0;i<3;i++) { Equipments[i] = 1; for(int j=0;j<3;j++) { SkillSet[i][j][0] = Skill_Sword_Front; SkillSet[i][j][1] = 0; SkillSet[i][j][2] = 0; SkillSet[i][j][3] = SkillAvailableCount[Skill_Sword_Front]; } } SkillCursorPoint.x = SkillCursorPoint.y = 0; ChangeSkillPoint.x = ChangeSkillPoint.y = -1; SkillChangeFlag = false; GetShape()->SetAsBox(12/2/Box_Rate,24/2/Box_Rate); GetFixtureDef()->shape = GetShape(); GetFixtureDef()->density = Density; GetFixtureDef()->friction = Friction; GetBody()->DestroyFixture(GetFixture()); GetBody()->CreateFixture(GetFixtureDef()); Center_x = 64; Center_y = 52; Width = 9; Height = 24; EX = 200; MaxEX = 400; //スキル設定ウィンドウ作成 SkillWindow.Initialize(25,25,Screen_Width-50,Screen_Height-50,Black,LightBlack); SkillWindow.Visible = false; InfoPanel.Initialize(15,330,300,60,Black,LightBlack); InfoPanel2.Initialize(SkillWindow.GetWidth()/2,330,300,60,Black,LightBlack); SkillImages.clear(); int Length = AnimeGraphs.size(); for(int i=0;i<Length;i++) { SkillImages.push_back(AnimeGraphs[i]); SkillImages[SkillImages.size()-1].Initialize(); SkillImages[SkillImages.size()-1].Anime_Speed = 500; Window Panel; SkillPanels.push_back(Panel); SkillPanels[SkillPanels.size()-1].Initialize(0,0,64,64,Black,LightBlack); } EquipmentImages.clear(); Length = EquipmentGraphs.size(); for(int i=0;i<Length;i++) { Image_2D Image; EquipmentImages.push_back(EquipmentGraphs[i]); EquipmentImages[EquipmentImages.size()-1].Initialize(); EquipmentImages[EquipmentImages.size()-1].Anime_Speed = 500; Window Panel; EquipmentPanels.push_back(Panel); EquipmentPanels[EquipmentPanels.size()-1].Initialize(0,0,64,64,Black,LightBlack); } }