Player::Player() : SpeedForce(7.0) , Y_START(360.0) , LimitScreenXL(10.0) , LimitScreenXR(630.0) , LimitScreenYT(10.0) , LimitScreenYB(455.0) , graphic(new Graphic) , c_start(new Counter(150)) , c_dead(new Counter(90)) , elapsedTime(0) , keydir(InputDir::Neutral) , dead_ef(eSpread_SmallGrey) , isDead(false) , life(3) , isMuteki(false) , isShield(false) { LoadDivGraph("GRAPH/GAME/player.png", 3, 3, 1, 20, 26, hg); // 画像の分割読み込み hs_shiftUp = LoadSoundMem("SOUND/SE/shiftup.mp3"); hs_shiftDown = LoadSoundMem("SOUND/SE/shiftdown.wav"); hs_dead = LoadSoundMem("SOUND/SE/explosion02.wav"); pos.SetVecor2D(320.0, 520.0); bombNum = 3; s_powlv = 0; s_isStart = false; isHit = false; s_isMuteki = true; state = ePlayerState_Start; }
void Music_Ini(){ Music[opening].Music = LoadSoundMem( "RPG DATA\\opening.ogg" ); Music[battle].Music = LoadSoundMem( "RPG DATA\\sentoukyoku.ogg"); SE[select].SE = LoadSoundMem("RPG DATA\\select.wav"); SE[select2].SE = LoadSoundMem("RPG DATA\\select3.wav"); }
void load(){ int t; SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS ) ; t=GetNowCount(); img_board[10] = LoadGraph("../dat/img/board/10.png"); img_board[11] = LoadGraph("../dat/img/board/11.png"); img_board[12] = LoadGraph("../dat/img/board/12.png"); img_board[20] = LoadGraph("../dat/img/board/20.png"); img_chetc[0] = LoadGraph( "../dat/img/char/atari.png" ); img_chetc[2] = LoadGraph( "../dat/img/char/ball.png" ); img_eff_bom[0] = LoadGraph( "../dat/img/effect/bom0.png" ); img_eff_bom[1] = LoadGraph( "../dat/img/effect/bom1.png" ); img_eff_bom[2] = LoadGraph( "../dat/img/char/body.png" ); img_eff_bom[3] = LoadGraph( "../dat/img/bullet/bom_title0.png" ); img_etc[1] = LoadGraph( "../dat/img/enemy/hp.png" ); img_etc[2] = LoadGraph( "../dat/img/enemy/bossback.png" ); img_etc[5] = LoadGraph( "../dat/img/enemy/bossback3.png" ); img_etc[6] = LoadGraph( "../dat/img/enemy/bossback4.png" ); img_etc[7] = LoadGraph( "../dat/img/enemy/hp_boss.png" );//ボスのHP LoadDivGraph( "../dat/img/bullet/b0.png" , 5 , 5 , 1 , 76 , 76 , img_bullet[0] ) ; LoadDivGraph( "../dat/img/bullet/b1.png" , 6 , 6 , 1 , 22 , 22 , img_bullet[1] ) ; LoadDivGraph( "../dat/img/bullet/b2.png" , 10 , 10 , 1 , 5 , 120 , img_bullet[2] ) ; LoadDivGraph( "../dat/img/bullet/b3.png" , 5 , 5 , 1 , 19 , 34 , img_bullet[3] ) ; LoadDivGraph( "../dat/img/bullet/b4.png" , 10 , 10 , 1 , 38 , 38 , img_bullet[4] ) ; LoadDivGraph( "../dat/img/bullet/b5.png" , 3 , 3 , 1 , 14 , 16 , img_bullet[5] ) ; LoadDivGraph( "../dat/img/bullet/b6.png" , 3 , 3 , 1 , 14 , 18 , img_bullet[6] ) ; LoadDivGraph( "../dat/img/bullet/b7.png" , 10 , 10 , 1 , 16 , 16 , img_bullet[7] ) ; LoadDivGraph( "../dat/img/bullet/b8.png" , 10 , 10 , 1 , 12 , 18 ,img_bullet[8] ) ; LoadDivGraph( "../dat/img/bullet/b9.png" , 3 , 3 , 1 , 13 , 19 , img_bullet[9] ) ; LoadDivGraph( "../dat/img/bullet/b10.png" , 8 , 8 , 1 , 8 , 8 , img_bullet[10] ) ; LoadDivGraph( "../dat/img/bullet/b11.png" , 8 , 8 , 1 , 35 , 32 , img_bullet[11] ) ; LoadDivGraph( "../dat/img/bullet/l0.png" , 2 , 2 , 1 , 30 , 460 , img_lazer[0] ) ; LoadDivGraph( "../dat/img/bullet/l0_moto.png" , 2 , 2 , 1 , 70 , 70 , img_lazer_moto[0] ) ; LoadDivGraph( "../dat/img/enemy/hit_effect.png" , 5 , 5 , 1 , 140 , 140 , img_del_effect ) ; LoadDivGraph( "../dat/img/char/riria.png" , 8 , 8 , 1 , 100 , 100 , img_dot_riria ) ; LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] ) ; LoadDivGraph( "../dat/img/enemy/0.png" , 9 , 3 , 3 , 32 , 32 , img_enemy[0] ) ; img_cshot[0]=LoadGraph("../dat/img/char/bl_00.png"); img_cshot[1]=LoadGraph("../dat/img/char/bl_01.png"); img_back[0] = LoadGraph("../dat/img/back/0/back0.png"); img_back[10] = LoadGraph("../dat/img/back/10/kotei0.png"); img_back[11] = LoadGraph("../dat/img/back/10/scroll0.png"); sound_se[0]=LoadSoundMem("../dat/se/enemy_shot.wav"); sound_se[1]=LoadSoundMem("../dat/se/enemy_death.wav"); sound_se[2]=LoadSoundMem("../dat/se/cshot.wav"); sound_se[3]=LoadSoundMem("../dat/se/char_death.wav"); sound_se[8]=LoadSoundMem("../dat/se/hit.wav"); sound_se[11]=LoadSoundMem("../dat/se/boss_change.wav"); sound_se[14]=LoadSoundMem("../dat/se/bom0.wav"); sound_se[15]=LoadSoundMem("../dat/se/bom1.wav"); sound_se[33]=LoadSoundMem("../dat/se/lazer.wav"); //sound_se[99]=LoadSoundMem("../dat/music/youmu.wav");//反魂蝶のBGMを再生する場合はココに音楽ファイルを用意して下さい ChangeVolumeSoundMem( 50, sound_se[0] ) ; ChangeVolumeSoundMem(128, sound_se[1] ) ; ChangeVolumeSoundMem(128, sound_se[2] ) ; ChangeVolumeSoundMem( 80, sound_se[3] ) ; ChangeVolumeSoundMem( 80, sound_se[8] ) ; }
void BmsPlayer::setSoundToMem(){ std::vector<std::string> load_path = parser->getHeaderDataPath("WAV"); for (unsigned int i = 0; i < load_path.size(); i++){ if (PathFileExists(load_path.at(i).c_str()) == 1) sound_handle.at(i) = LoadSoundMem(load_path.at(i).c_str()); else sound_handle.at(i) = LoadSoundMem((load_path.at(i).substr(0, load_path.at(i).find_last_of(".")) + ".ogg").c_str()); if (ProcessMessage()) break; } }
void SoundManager::ChangeLoadTableMain( const std::string &tableStr, const bool &isLoadSound ) { //! まず初期化 if(isLoadSound){ for(uint32_t i = 0; i < m_vBGM.size(); ++i){ DeleteSoundMem(m_vBGM.at(i).m_soundId); } m_vBGM.clear(); } else{ for(uint32_t i = 0; i < m_vSE.size(); ++i){ DeleteSoundMem(m_vSE.at(i).m_soundId); } m_vSE.clear(); } //! サウンドテーブルの読み込みとそこからファイルのロード std::string pathStr = JSON_SOUND_PATH; pathStr += tableStr; idxfstream ifs(pathStr.c_str()); picojson::value root; picojson::parse( root, ifs); picojson::value null; picojson::value sceneData = root.get("soundTable"); for(uint32_t i = 0;; ++i){ if( sceneData == null || sceneData.get(i) == null){ break; } SOUND_INFO data; data.Init(); data.m_soundTag = sceneData.get(i).get("tag").get<std::string>(); data.m_soundName = sceneData.get(i).get("file").get<std::string>(); std::string filePath = ""; if(isLoadSound){ filePath = BGM_PATH; } else{ filePath = SE_PATH; } filePath += data.m_soundName.c_str(); int32_t soundId = LoadSoundMem(filePath.c_str()); if(soundId != -1){ data.m_soundId = soundId; if(isLoadSound){ m_vBGM.push_back(data); DEBUG_PRINT("【BGMロード tag : %s ,FileName : %s】\n", data.m_soundTag.c_str(), data.m_soundName.c_str()); } else{ m_vSE.push_back(data); DEBUG_PRINT("【SEロード tag : %s ,FileName : %s】\n", data.m_soundTag.c_str(), data.m_soundName.c_str()); } } else{ DEBUG_PRINT("【サウンドファイルロードエラー : %s】\n", filePath.c_str()); } } }
/*== ================*/ void PasPlay::Initialize(){ pInput = Game::Instance()->GetInput(); flgStart =false; flgClear =false; flgGameOver =false; flgWarning =false; flgBoss =false; flgResult =false; flgWarning =false; /*== グラフィック ================*/ // 背景 GhBackground= LoadGraph("dat/image/play/background/galaxy00.jpg"); // 背景 GhCloud = LoadGraph("dat/image/play/background/cloud00.png"); // 雲 LoadDivGraph("dat/image/play/effect/burn_00.png",16,16,1,32,32,GhBurn00); // 爆発1 LoadDivGraph("dat/image/play/effect/burn_01.png",10,10,1,64,64,GhBurn01); // 爆発1 LoadDivGraph("dat/image/play/effect/burn_02.png",8,7,2,88,88,GhBurn02); // 爆発2 // ボード GhBoard = LoadGraph("dat/image/play/frame/scoreboard00.png"); // スコアボード GhPlayerStatus = LoadGraph("dat/image/play/frame/playerstatus.png"); // ゲージフレーム /*== オーディオ ================*/ mSE[0]->SetAudio(LoadSoundMem("dat/audio/se/alert2.ogg")); // アラート mSE[0]->SetLoopFlag(true); mSE[1]->SetAudio(LoadSoundMem("dat/audio/se/alart2.ogg")); // クリア mSE[2]->SetAudio(LoadSoundMem("dat/audio/music/st011.mp3")); // ゲームオーバー mSE[2]->SetVolume(120); mSE[3]->SetAudio(LoadSoundMem("dat/audio/se/kati.ogg")); // 選択 mSE[3]->SetVolume(180); /*== ================*/ mUnitAdmin.reset(new UnitAdmin()); // ユニットマネージャー mBackground.reset(new BackGround(&GhBackground, &GhCloud)); // バックグラウンドマネージャー mScoreBoard.reset(new ScoreBoard(&GhBoard, mUnitAdmin.get())); // スコアボードマネージャー mBackground->Initialize(); mScoreBoard->Initialize(); mUnitAdmin->Initialize(); GoToStart(); }
Player::Player() { LoadDivGraph("data\\graphics\\Player.png", 6, 3, 2, 32, 32, handle); LoadDivGraph("data\\graphics\\Player_death.png", 2, 2, 1, 32, 32, handleForDeath); DamegeSound = LoadSoundMem("data\\sound\\SE\\zikisibou3.wav"); _x = 0; _y = 518; direction = Right; _live = 3; //残機 //あたり判定 _sizeX = 32; _sizeY = 32; T_changing = 0.0; T_weapons = 0.0; weapon = Singly; weapon_n = 0; _gNum = 1; _gCount = 0; _moveX = 0; _moveY = 0; _weight = 15; //キャラの横幅 for (int i = 0; i < 2; i++){ _weapon[i].count = 2; _weapon[i].sf_p = false; } wasAttackedFrame = 0; flag_changed = false; playerDiedFlag = false; wasAttackedFlag = false; /* SinglyWeapon(); QuickWeapon(); JetWeapon(); PipeOfWeapon(); RokusyakuWeapon();*/ for (int i = 0; i < 2; i++){ _pipe[i].pipe = new PipeOfWeapon(); } _weapon[0].weapon_B = new SinglyWeapon(); _weapon[1].weapon_B = new SinglyWeapon(); }
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; }
void InitSound(void){ int i=0; char str[30]; memset(str,0x00,sizeof(str)); for(i=0;i<70;i++){ sprintf(str,"BEEP/BEEP%d.ogg",i); SHandleBEEP[i]=LoadSoundMem(str); } return; }
Title::Title() { frame = 0; titleImage[0] = LoadGraph("data\\graphics\\title_1.png"); titleImage[1] = LoadGraph("data\\graphics\\title_2_1.png"); titleImage[2] = LoadGraph("data\\graphics\\title_2_2.png"); titleImage[3] = LoadGraph("data\\graphics\\title_3_1.png"); titleImage[4] = LoadGraph("data\\graphics\\title_3_2.png"); titleImage[5] = LoadGraph("data\\graphics\\title_4.png"); _selectHandle = LoadGraph("data/graphics/select_1.png"); _keyCheck = 0; _T_changing = 0.0; titleBGM = LoadSoundMem("data\\sound\\BGM\\Urayama.wav"); selectBGM = LoadSoundMem("data\\sound\\SE\\ok.wav"); PlaySoundMem(titleBGM, DX_PLAYTYPE_LOOP); }
FallingObject::FallingObject(void) { this->speed = SPEED; this->starttime = GetNowCount(); this->sound_h = LoadSoundMem("music/bomb.mp3"); this->hit_area = HIT_AREA; this->color = GetColor(0, 255, 0); SetMouseDispFlag( TRUE ); exist=true; once=false; }
MusicApple::MusicApple(int x, int y, int num) { this->x = x; this->y = y; this->num = num; if(this->num == 0){ this->graphic_h_s = LoadGraph("picture/small_onestar.bmp"); this->graphic_h_b = LoadGraph("picture/ultrasoul_apple2.bmp"); this->sound_h = LoadSoundMem("music/ultrasoul.mp3"); this->sound_h_demo = LoadSoundMem("music/ultrasoul_mini.mp3"); this->musicfile = "ultrasoul_score.txt"; } else if(this->num == 1){ this->graphic_h_s = LoadGraph("picture/small_twostar.bmp"); this->graphic_h_b = LoadGraph("picture/koi_apple.bmp"); this->sound_h = LoadSoundMem("music/koi.mp3"); this->sound_h_demo = LoadSoundMem("music/koi_mini.mp3"); this->musicfile = "koi_score.txt"; } else if(this->num == 2){ this->graphic_h_s = LoadGraph("picture/small_threestar.bmp"); this->graphic_h_b = LoadGraph("picture/johnetsu_apple.bmp"); this->sound_h = LoadSoundMem("music/johnetsu.mp3"); this->sound_h_demo = LoadSoundMem("music/johnetsu_mini.mp3"); this->musicfile = "johnetsu_score.txt"; } this->hit_area = MUSICAPPLE_HIT_AREA; SetMouseDispFlag( TRUE ); this->color = GetColor(0, 0, 255); once = false; }
void gamestart() { shot_used2[0] = false; shot_used3[0] = false; shot_used2[1] = false; shot_used3[1] = false; game_startflag = true; if(loadbgm_flag == false) { PlaySoundMem(start_m,DX_PLAYTYPE_BACK); bgm[0] = LoadSoundMem("media\\bgm2.ogg"); bgm[1] = LoadSoundMem("media\\bgm3.ogg"); bgm[3] = LoadSoundMem("media\\bgm4.ogg"); bgm[5] = LoadSoundMem("media\\bgm5.ogg"); bgm[2] = LoadSoundMem("media\\bgm6.ogg"); bgm[4] = LoadSoundMem("media\\bgm7.ogg"); WaitTimer(2000); loadbgm_flag = true; } else { PlaySoundMem(start_m,DX_PLAYTYPE_NORMAL); } jiki_x = 304; }
Menu::Menu(ISceneChanger* changer) : BaseScene (changer) , title (new Title) , graphic (new Graphic) , score (new Score) , c_game (new Counter(100)) , X (280) , SPACE (16) , X_CUR (262) , ALL_SELECT_NUM(4) , isGame(false) { h_twi = LoadGraph ("GRAPH/MENU/myacount.png"); h_cursor = LoadGraph ("GRAPH/MENU/select.png"); hs_move = LoadSoundMem("SOUND/SE/select01.wav"); hs_choice = LoadSoundMem("SOUND/SE/choice01.wav"); selectNum = 0; ano_tri = 0; // メニューセレクトの並び座標 for (int i = 0; i != y.size(); ++i) y.at(i) = 270 + (i * 30); }
void controll_reset() { how_to_g = LoadGraph("data\\graph\\how_to.jpg"); chosen_player_g = LoadGraph("data\\graph\\select_body.png"); two_way_g = LoadGraph("data\\graph\\select_two_way.png"); four_way_g = LoadGraph("data\\graph\\select_four_way.png"); one_way_g= LoadGraph("data\\graph\\select_one_way.png"); hp_bar_g = LoadGraph("data\\graph\\hp_bar.png"); player_hp_g = LoadGraph("data\\graph\\player_hp.png"); enemy_hp_g = LoadGraph("data\\graph\\enemy_hp.png"); push_a_g = LoadGraph("data\\graph\\push_a.png"); player_shot_s = LoadSoundMem("data\\sound\\player_shot.wav"); enemy_down_s = LoadSoundMem("data\\sound\\enemy_down.wav"); Cshot::hit_sound = LoadSoundMem("data\\sound\\hit.mp3"); LoadDivGraph("data\\graph\\hit.png",10,10,1,120,120,Cshot::hit_graph); //初期化後に自動的にタイトル画面へ game_stage = Csystem::GAME_TITLE; }
void Sound::LoadToMap(std::string name, double volume, int play_rate){ int tmphandle; std::string loadname = "Sounds/" + name; tmphandle = LoadSoundMem(loadname.c_str()); if (tmphandle != -1){ std::vector<std::string> extensionList = { ".wav", ".ogg", ".mp3" }; for (auto &i : extensionList){ Func::strReplace(name, i, ""); } handlemap.emplace(name, SoundHandle(tmphandle, volume, play_rate)); return; } OutputDebugString(("\n" + name + " is not exist\n").c_str()); }
void load(){ img_board[10] = LoadGraph("../dat/img/board/10.png"); img_board[11] = LoadGraph("../dat/img/board/11.png"); img_board[12] = LoadGraph("../dat/img/board/12.png"); img_board[20] = LoadGraph("../dat/img/board/20.png"); LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] ) ; LoadDivGraph( "../dat/img/enemy/0.png" , 9 , 3 , 3 , 32 , 32 , img_enemy[0] ) ; LoadDivGraph( "../dat/img/bullet/b0.png" , 5 , 5 , 1 , 76 , 76 , img_bullet[0] ) ; LoadDivGraph( "../dat/img/bullet/b1.png" , 6 , 6 , 1 , 22 , 22 , img_bullet[1] ) ; LoadDivGraph( "../dat/img/bullet/b2.png" , 10 , 10 , 1 , 5 , 120 , img_bullet[2] ) ; LoadDivGraph( "../dat/img/bullet/b3.png" , 5 , 5 , 1 , 19 , 34 , img_bullet[3] ) ; LoadDivGraph( "../dat/img/bullet/b4.png" , 10 , 10 , 1 , 38 , 38 , img_bullet[4] ) ; LoadDivGraph( "../dat/img/bullet/b5.png" , 3 , 3 , 1 , 14 , 16 , img_bullet[5] ) ; LoadDivGraph( "../dat/img/bullet/b6.png" , 3 , 3 , 1 , 14 , 18 , img_bullet[6] ) ; LoadDivGraph( "../dat/img/bullet/b7.png" , 9 , 9 , 1 , 16 , 16 , img_bullet[7] ) ; LoadDivGraph( "../dat/img/bullet/b8.png" , 10 , 10 , 1 , 12 , 18 ,img_bullet[8] ) ; LoadDivGraph( "../dat/img/bullet/b9.png" , 3 , 3 , 1 , 13 , 19 , img_bullet[9] ) ; LoadDivGraph( "../dat/img/enemy/hit_effect.png" , 5 , 5 , 1 , 140 , 140 , img_del_effect ) ; img_cshot[0]=LoadGraph("../dat/img/char/bl_00.png"); img_cshot[1]=LoadGraph("../dat/img/char/bl_01.png"); img_back[0] = LoadGraph("../dat/img/back/0/back0.png"); sound_se[0]=LoadSoundMem("../dat/se/enemy_shot.wav"); sound_se[1]=LoadSoundMem("../dat/se/enemy_death.wav"); sound_se[2]=LoadSoundMem("../dat/se/cshot.wav"); sound_se[3]=LoadSoundMem("../dat/se/char_death.wav"); sound_se[8]=LoadSoundMem("../dat/se/hit.wav"); ChangeVolumeSoundMem( 50, sound_se[0] ) ; ChangeVolumeSoundMem(128, sound_se[1] ) ; ChangeVolumeSoundMem(128, sound_se[2] ) ; ChangeVolumeSoundMem( 80, sound_se[3] ) ; ChangeVolumeSoundMem( 80, sound_se[8] ) ; }
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int test1; if(DxLib_Init() == -1) return -1; BGM = LoadSoundMem("kbc.wav"); test1 = PlaySoundMem(BGM,DX_PLAYTYPE_NORMAL); while(ProcessMessage() != -1 && CheckHitKeyAll() == 0 ){ if(test1 == -1)LoadGraphScreen( BGM , 0 , "0120.bmp" , true); if(BGM == -1)LoadGraphScreen( BGM , 100 , "0120.bmp" , true); } DxLib_End() ; return 0; }
Player::Player(double x,double y,Field* field) :Character(x,y,5.0,15.0,5,"Image/witch1.png",true,new PlayerController(this,field), new NormalAttack(1,7,10,this,"Sound/shot_sound.wav")){ //初期化 score_=0; life_=3; super_=false; super_count_=0; alive=true; move_ghandle_=loadg.Load("Image/witch2.png"); object_type_ = O_PLAYER; game_status_=NOTHING; jump_sound_ = LoadSoundMem("Sound/jump_sound.wav"); next_map_flag_ = false; next_map_ = NULL; next_map_count_=1; map_name_=field->GetMapName(); }
void Character::Init(float a, float b, float c, float X, float Y, float Z, int graph){ x = a; y = b; z = c; RotateX = X; RotateY = Y; RotateZ = Z; RotateZ2 = 0; life = 10; power = 0; this->graph = graph; DeathTimer = 180; targetwindow = MV1LoadModel("target.mqo"); MV1SetScale(targetwindow, VGet(0.025f, 0.025f, 0.025f)); MV1SetScale(graph, VGet(0.06f, 0.06f, 0.06f)); for(int i = 0; i < SNUM; i++){ shot[i].flag = 0; shot[i].graph = MV1LoadModel("shotp.pmx"); shot[i].attach = MV1AttachAnim( shot[i].graph, 0, -1, FALSE ) ; shot[i].shottime = MV1GetAttachAnimTotalTime( shot[i].graph, shot[i].attach ); shot[i].playtime = 0; MV1SetScale(shot[i].graph, VGet(0.3f, 0.3f, 0.8f)); } //ブーストの初期化 boost.graph = MV1LoadModel("boost.pmd"); boost.attach = MV1AttachAnim(boost.graph, 1, -1, FALSE ) ; boost.totaltime= MV1GetAttachAnimTotalTime( boost.graph, boost.attach ) ; boost.playtime = 0; MV1SetScale(boost.graph, VGet(0.11f, 0.11f, 0.11f)); boost2.graph = MV1LoadModel("boost.pmd"); boost2.attach = MV1AttachAnim(boost2.graph, 2, -1, FALSE ) ; boost2.totaltime= MV1GetAttachAnimTotalTime( boost2.graph, boost2.attach ) ; boost2.playtime = 0; MV1SetScale(boost2.graph, VGet(0.11f, 0.11f, 0.11f)); shotsound = LoadSoundMem( "sound/shoot1.mp3" ); ChangeVolumeSoundMem( 100, shotsound ) ; }
Character::Character(float a, float b, float c, float X, float Y, float Z, int graph){ x = a; y = b; z = c; RotateX = X; RotateY = Y; RotateZ = Z; life = 10; this->graph = graph; targetwindow = MV1LoadModel("target.mqo"); MV1SetScale(targetwindow, VGet(0.025f, 0.025f, 0.025f)); MV1SetScale(graph, VGet(0.015f, 0.015f, 0.015f)); for(int i = 0; i < SNUM; i++){ shot[i].flag = 0; shot[i].graph = MV1LoadModel("aaaa.mqo"); } damage_sound = LoadSoundMem("sound/nc84550.mp3"); ChangeVolumeSoundMem(100, damage_sound); damaged_timer = 0; damaged_flag = false; }
void Stage::StageSet(eStage estage) { // まず素材用のメモリを開放します for (int &Gr_Handle : hg) { if(Gr_Handle != NULL) DeleteGraph(Gr_Handle); } if (hs_bgm != NULL) DeleteSoundMem(hs_bgm); // ステージ用素材ロード switch (estage) { case eStage::stage1 : hs_bgm = LoadSoundMem("SOUND/s0.mp3"); hg.at(eBG_back) = LoadGraph("GRAPH/GAME/BACKGROUND/RasterOnly/rbg00.png"); hg.at(eBG_middle) = LoadGraph("GRAPH/GAME/BACKGROUND/sumple_middle.png"); hg.at(eBG_front) = LoadGraph("GRAPH/GAME/BACKGROUND/RasterOnly/rbg01.png"); break; case eStage::stage2 : break; case eStage::stage3 : break; case eStage::stage4 : break; case eStage::stage5 : break; case eStage::stage6 : break; case eStage::stage0 : break; } // 敵データを読み込む Game::LoadEnemy(estage); Game::StageCall(); PlaySoundMem(hs_bgm, DX_PLAYTYPE_LOOP); }
// データ読み込み void GameRoad::DataLoad(void) { int i; if(s_col < 0) { s_col = 0; } int c = s_col*5 + stage; spd[RO_SP_BG].num = LoadGraph(pix_bgs[c]); spd[RO_SP_FB].num = LoadGraph(pix_fgs[c]); // 画像ロード for(i=RO_SP_BR_R1; i<_RO_SP_END; i++) { spd[i].num = LoadGraph(ro_pixs[i]); spd[i].pat = 0; } // 効果音ロード for(i=0; i<_RO_SE_END; i++) { se_num[i] = LoadSoundMem(sounds[i]); } // いちパターン画像 int tmp[I_PATMAX]; int i_c = 0; LoadDivGraph(ro_pixs[RO_SP_ICHI], I_PATMAX, I_MOVS, I_PATS, spd[RO_SP_ICHI].w, spd[RO_SP_ICHI].h,tmp); for(i=0; i<I_PATS; i++) { for(int j=0; j<I_MOVS; j++) { ichi_num[i][j] = tmp[i_c]; i_c++; } } spd[RO_SP_ICHI].num = spd[RO_SP_ICHI].pat = 0; spd[RO_SP_ICHI].x = 12; spd[RO_SP_ICHI].y = 300; }
void loadg(void) { for (t = 0; t < 51; t++) { mgrap[t] = 0; } for (int i = 0; i < 161; i++) for (int j = 0; j < 8; j++) grap[i][j] = NULL; /* for (t=0;t<161;t++){ for (tt=0;tt<8;tt++){ grap[t][tt]=0; }} */ // ma-=100;//mb==5000; // end(); //画像読み込み // 透過色を変更 //SetTransColor( 9*16+9 , 255 , 255 ) ; //プレイヤー mgrap[0] = LoadGraph("res/player.PNG"); //ブロック mgrap[1] = LoadGraph("res/brock.PNG"); //アイテム mgrap[2] = LoadGraph("res/item.PNG"); //敵 mgrap[3] = LoadGraph("res/teki.PNG"); //背景 mgrap[4] = LoadGraph("res/haikei.PNG"); //ブロック2 mgrap[5] = LoadGraph("res/brock2.PNG"); //おまけ mgrap[6] = LoadGraph("res/omake.PNG"); //おまけ2 mgrap[7] = LoadGraph("res/omake2.PNG"); //タイトル mgrap[30] = LoadGraph("res/syobon3.PNG"); //プレイヤー読み込み grap[40][0] = DerivationGraph(0, 0, 30, 36, mgrap[0]); grap[0][0] = DerivationGraph(31 * 4, 0, 30, 36, mgrap[0]); grap[1][0] = DerivationGraph(31 * 1, 0, 30, 36, mgrap[0]); grap[2][0] = DerivationGraph(31 * 2, 0, 30, 36, mgrap[0]); grap[3][0] = DerivationGraph(31 * 3, 0, 30, 36, mgrap[0]); grap[41][0] = DerivationGraph(50, 0, 51, 73, mgrap[6]); x1 = 1; //ブロック読み込み for (t = 0; t <= 6; t++) { grap[t][x1] = DerivationGraph(33 * t, 0, 30, 30, mgrap[x1]); grap[t + 30][x1] = DerivationGraph(33 * t, 33, 30, 30, mgrap[x1]); grap[t + 60][x1] = DerivationGraph(33 * t, 66, 30, 30, mgrap[x1]); grap[t + 90][x1] = DerivationGraph(33 * t, 99, 30, 30, mgrap[x1]); } grap[8][x1] = DerivationGraph(33 * 7, 0, 30, 30, mgrap[x1]); grap[16][x1] = DerivationGraph(33 * 6, 0, 24, 27, mgrap[2]); grap[10][x1] = DerivationGraph(33 * 9, 0, 30, 30, mgrap[x1]); grap[40][x1] = DerivationGraph(33 * 9, 33, 30, 30, mgrap[x1]); grap[70][x1] = DerivationGraph(33 * 9, 66, 30, 30, mgrap[x1]); grap[100][x1] = DerivationGraph(33 * 9, 99, 30, 30, mgrap[x1]); //ブロック読み込み2 x1 = 5; for (t = 0; t <= 6; t++) { grap[t][x1] = DerivationGraph(33 * t, 0, 30, 30, mgrap[x1]); } grap[10][5] = DerivationGraph(33 * 1, 33, 30, 30, mgrap[x1]); grap[11][5] = DerivationGraph(33 * 2, 33, 30, 30, mgrap[x1]); grap[12][5] = DerivationGraph(33 * 0, 66, 30, 30, mgrap[x1]); grap[13][5] = DerivationGraph(33 * 1, 66, 30, 30, mgrap[x1]); grap[14][5] = DerivationGraph(33 * 2, 66, 30, 30, mgrap[x1]); //アイテム読み込み x1 = 2; for (t = 0; t <= 5; t++) { grap[t][x1] = DerivationGraph(33 * t, 0, 30, 30, mgrap[x1]); } //敵キャラ読み込み x1 = 3; grap[0][x1] = DerivationGraph(33 * 0, 0, 30, 30, mgrap[x1]); grap[1][x1] = DerivationGraph(33 * 1, 0, 30, 43, mgrap[x1]); grap[2][x1] = DerivationGraph(33 * 2, 0, 30, 30, mgrap[x1]); grap[3][x1] = DerivationGraph(33 * 3, 0, 30, 44, mgrap[x1]); grap[4][x1] = DerivationGraph(33 * 4, 0, 33, 35, mgrap[x1]); grap[5][x1] = DerivationGraph(0, 0, 37, 55, mgrap[7]); grap[6][x1] = DerivationGraph(38 * 2, 0, 36, 50, mgrap[7]); grap[150][x1] = DerivationGraph(38 * 2 + 37 * 2, 0, 36, 50, mgrap[7]); grap[7][x1] = DerivationGraph(33 * 6 + 1, 0, 32, 32, mgrap[x1]); grap[8][x1] = DerivationGraph(38 * 2 + 37 * 3, 0, 37, 47, mgrap[7]); grap[151][x1] = DerivationGraph(38 * 3 + 37 * 3, 0, 37, 47, mgrap[7]); grap[9][x1] = DerivationGraph(33 * 7 + 1, 0, 26, 30, mgrap[x1]); grap[10][x1] = DerivationGraph(214, 0, 46, 16, mgrap[6]); //モララー grap[30][x1] = DerivationGraph(0, 56, 30, 36, mgrap[7]); grap[155][x1] = DerivationGraph(31 * 3, 56, 30, 36, mgrap[7]); grap[31][x1] = DerivationGraph(50, 74, 49, 79, mgrap[6]); grap[80][x1] = DerivationGraph(151, 31, 70, 40, mgrap[4]); grap[81][x1] = DerivationGraph(151, 72, 70, 40, mgrap[4]); grap[130][x1] = DerivationGraph(151 + 71, 72, 70, 40, mgrap[4]); grap[82][x1] = DerivationGraph(33 * 1, 0, 30, 30, mgrap[5]); grap[83][x1] = DerivationGraph(0, 0, 49, 48, mgrap[6]); grap[84][x1] = DerivationGraph(33 * 5 + 1, 0, 30, 30, mgrap[x1]); grap[86][x1] = DerivationGraph(102, 66, 49, 59, mgrap[6]); grap[152][x1] = DerivationGraph(152, 66, 49, 59, mgrap[6]); grap[90][x1] = DerivationGraph(102, 0, 64, 63, mgrap[6]); grap[100][x1] = DerivationGraph(33 * 1, 0, 30, 30, mgrap[2]); grap[101][x1] = DerivationGraph(33 * 7, 0, 30, 30, mgrap[2]); grap[102][x1] = DerivationGraph(33 * 3, 0, 30, 30, mgrap[2]); //grap[104][x1] = DerivationGraph( 33*2, 0, 30, 30, mgrap[5]) ; grap[105][x1] = DerivationGraph(33 * 5, 0, 30, 30, mgrap[2]); grap[110][x1] = DerivationGraph(33 * 4, 0, 30, 30, mgrap[2]); //背景読み込み x1 = 4; grap[0][x1] = DerivationGraph(0, 0, 150, 90, mgrap[x1]); grap[1][x1] = DerivationGraph(151, 0, 65, 29, mgrap[x1]); grap[2][x1] = DerivationGraph(151, 31, 70, 40, mgrap[x1]); grap[3][x1] = DerivationGraph(0, 91, 100, 90, mgrap[x1]); grap[4][x1] = DerivationGraph(151, 113, 51, 29, mgrap[x1]); grap[5][x1] = DerivationGraph(222, 0, 28, 60, mgrap[x1]); grap[6][x1] = DerivationGraph(151, 143, 90, 40, mgrap[x1]); grap[30][x1] = DerivationGraph(293, 0, 149, 90, mgrap[x1]); grap[31][x1] = DerivationGraph(293, 92, 64, 29, mgrap[x1]); //中間フラグ grap[20][x1] = DerivationGraph(40, 182, 40, 60, mgrap[x1]); //グラ x1 = 5; grap[0][x1] = DerivationGraph(167, 0, 45, 45, mgrap[6]); //敵サイズ収得 //int GrHandle=0; x1 = 3; for (t = 0; t <= 140; t++) { if (grap[t][x1]) { anx[t] = grap[t][x1]->w; any[t] = grap[t][x1]->h; //GetGraphSize(grap[t][x1] ,&anx[t] ,&any[t]); anx[t] *= 100; any[t] *= 100; } else { anx[t] = 0; any[t] = 0; } } anx[79] = 120 * 100; any[79] = 15 * 100; anx[85] = 25 * 100; any[85] = 30 * 10 * 100; //背景サイズ収得 x1 = 4; for (t = 0; t < 40; t++) { if (grap[t][x1]) { ne[t] = grap[t][x1]->w; nf[t] = grap[t][x1]->h; //GetGraphSize(grap[t][x1] ,&ne[t] ,&nf[t]); //ne[t]*=100;nf[t]*=100; } else { ne[t] = 0; nf[t] = 0; } } /* anx[0]=30;any[0]=30; anx[1]=30;any[1]=43; anx[2]=30;any[2]=30; anx[3]=30;any[3]=44; */ //ogg読み込み //try{ //oto[2] = LoadSoundMem( "SE/1.mp3" ) ; otom[1] = LoadMusicMem("BGM/field.ogg"); //50 otom[2] = LoadMusicMem("BGM/dungeon.ogg"); //40 otom[3] = LoadMusicMem("BGM/star4.ogg"); //50 otom[4] = LoadMusicMem("BGM/castle.ogg"); //50 otom[5] = LoadMusicMem("BGM/puyo.ogg"); //50 //otom[6]=LoadMusicMem( "BGM/last.ogg"); //ChangeVolumeSoundMem(50, otom[6]); oto[1] = LoadSoundMem("SE/jump.ogg"); //oto[2] = LoadSoundMem("SE/brockcoin.ogg"); oto[3] = LoadSoundMem("SE/brockbreak.ogg"); oto[4] = LoadSoundMem("SE/coin.ogg"); oto[5] = LoadSoundMem("SE/humi.ogg"); oto[6] = LoadSoundMem("SE/koura.ogg"); oto[7] = LoadSoundMem("SE/dokan.ogg"); oto[8] = LoadSoundMem("SE/brockkinoko.ogg"); oto[9] = LoadSoundMem("SE/powerup.ogg"); oto[10] = LoadSoundMem("SE/kirra.ogg"); oto[11] = LoadSoundMem("SE/goal.ogg"); oto[12] = LoadSoundMem("SE/death.ogg"); oto[13] = LoadSoundMem("SE/Pswitch.ogg"); oto[14] = LoadSoundMem("SE/jumpBlock.ogg"); oto[15] = LoadSoundMem("SE/hintBlock.ogg"); oto[16] = LoadSoundMem("SE/4-clear.ogg"); oto[17] = LoadSoundMem("SE/allclear.ogg"); oto[18] = LoadSoundMem("SE/tekifire.ogg"); //}catch( int num){end();} //ループ設定-20000-20秒 //SetLoopPosSoundMem( 1,oto[104]) ; //SetLoopSamplePosSoundMem(44100,oto[104]); //SetLoopSamplePosSoundMem(22050,oto[104]); }
Pshot::Pshot() : SCREEN_LIMIT_XL(-10) , SCREEN_LIMIT_XR(650) , SCREEN_LIMIT_YT(-10) , SCREEN_LIMIT_YB(490) , A_SPEED(22.0) // 25 , B_SPEED(18.0) // 20 , C_SPEED(20.0) // 23 , BASE_ANGLE(-DX_PI / 2.0) , ADD_ANGLE1(0.07) // 0.07 , ADD_ANGLE2(0.10) // 0.12 // +8 , ADD_ANGLE3(0.18) // 0.18 , ADD_ANGLE4(0.21) // 0.22 // +8 , ADD_ANGLE5(0.29) // 0.20 , ADD_ANGLE6(0.32) // 0.12 , ANGLE_L_1(BASE_ANGLE - ADD_ANGLE1) , ANGLE_L_2(BASE_ANGLE - ADD_ANGLE2) , ANGLE_L_3(BASE_ANGLE - ADD_ANGLE3) , ANGLE_L_4(BASE_ANGLE - ADD_ANGLE4) , ANGLE_L_5(BASE_ANGLE - ADD_ANGLE5) , ANGLE_L_6(BASE_ANGLE - ADD_ANGLE6) , ANGLE_R_1(BASE_ANGLE + ADD_ANGLE1) , ANGLE_R_2(BASE_ANGLE + ADD_ANGLE2) , ANGLE_R_3(BASE_ANGLE + ADD_ANGLE3) , ANGLE_R_4(BASE_ANGLE + ADD_ANGLE4) , ANGLE_R_5(BASE_ANGLE + ADD_ANGLE5) , ANGLE_R_6(BASE_ANGLE + ADD_ANGLE6) , ADD_FIRE_POS(18.) , ADD_FIRE_POS_Y(6.) , hg_fire(LoadGraph("GRAPH/GAME/pfire.png")) , hs_shot(LoadSoundMem("SOUND/SE/pshot00.wav")) , hs_hit(LoadSoundMem("SOUND/SE/damage01.wav")) , c_shot(new Counter(30)) , effect(new Effect(new HitEffect)) , bomb(new Bomb) , shiftLevel(0) , mPlayer_x(0.0) , mPlayer_y(0.0) , isShot(false) , isShotNext(false) { for (auto &shot : Ashot) shot = new Bullet(); for (auto &shot : Bshot) shot = new Bullet(); for (auto &shot : Cshot) shot = new Bullet(); hg.at(eShot_Blue) = LoadGraph("GRAPH/GAME/shot0.png"); hg.at(eShot_Orange) = LoadGraph("GRAPH/GAME/tama.png"); hg.at(eShot_Red) = LoadGraph("GRAPH/GAME/shot2.png"); hg2.at(eShot_Blue) = LoadGraph("GRAPH/GAME/shot0_2.png"); hg2.at(eShot_Orange) = LoadGraph("GRAPH/GAME/tama_2.png"); hg2.at(eShot_Red) = LoadGraph("GRAPH/GAME/shot2_2.png"); ChangeVolumeSoundMem(110, hs_shot); ChangeVolumeSoundMem(135, hs_hit); for (auto shot : Ashot) shot->atk = 2; for (auto shot : Bshot) shot->atk = 3; for (auto shot : Cshot) shot->atk = 1; x_pos.fill(0.0); y_pos.fill(0.0); angle.fill(0.0); // static------------------------------------ for (int i = 0; i != s_Apos.size(); ++i) { s_Apos[i].x = Ashot[i]->x_pos; s_Apos[i].y = Ashot[i]->y_pos; } for (int i = 0; i != s_Bpos.size(); ++i) { s_Bpos[i].x = Bshot[i]->x_pos; s_Bpos[i].y = Bshot[i]->y_pos; } for (int i = 0; i != s_Cpos.size(); ++i) { s_Cpos[i].x = Cshot[i]->x_pos; s_Cpos[i].y = Cshot[i]->y_pos; } }
Enemy::Enemy(int type, int stype, int m_pattern, int s_pattern, int in_time, int stop_time, int shot_time, int out_time, int x_pos, int y_pos, int s_speed, int hp, int item) : SCREEN_LIMIT_XL(-10) , SCREEN_LIMIT_XR(650) , SCREEN_LIMIT_YT(-10) , SCREEN_LIMIT_YB(490) , MAX_HP(hp) , DROP_RATE(2) , shot(nullptr) , shot2(nullptr) , shot3(nullptr) , SPEED_0(4.) , gh_shot00(NULL) , sh_voice(NULL) , elapsedTime(0) , moveTime(0) , s_time(0) , angle(0.) , isExist(false) , isMove(true) , isDamage(false) , isUngry(false) { // 例外処理 if(item < 0 || item > 3) { printfDx("アイテムID範囲外です。\n"); std::min(4, std::max(0, item)); } // データ設定 this->type = type; this->stype = stype; this->m_pattern = m_pattern; this->s_pattern = s_pattern; this->in_time = in_time; this->stop_time = stop_time; this->shot_time = shot_time; this->out_time = out_time; this->x_pos = x_pos; this->y_pos = y_pos; this->s_speed = s_speed; this->hp = hp; this->item = item; pos.SetVecor2D(static_cast<double>(x_pos), static_cast<double>(y_pos)); // タイプに合わせた switch (type) { case 0: gh_ene00 = LoadGraph("GRAPH/GAME/ENEMY/ene00.png"); hitRange = 20.; break; case 1: break; case 2: LoadDivGraph("GRAPH/GAME/ENEMY/ene02.png", 4, 4, 1, 31, 16, gh_ene02); hitRange = 20.; hitSRange.SetVecor2D(40., 40.); break; case 3: break; case 4: LoadDivGraph("GRAPH/GAME/ENEMY/career.png", 8, 4, 2, 124, 78, gh_ene04); sh_voice = LoadSoundMem("SOUND/SE/scream00.wav"); hitRange = 50.; break; case 5: break; case 6: break; case 7: break; } // 速度 switch (m_pattern) { case 0: vspeed_x = 2.; vspeed_y = 4.; break; case 1: break; case 2: vspeed_x = 2.; vspeed_y = 0.1; break; case 3: break; case 4: break; case 5: break; case 6: break; case 7: break; } // 弾ロード switch (s_pattern) { case 0: shot = new Shot(new EShot00); break; case 1: break; case 2: shot = new Shot(new EShot00); break; case 3: break; case 4: shot = new Shot(new EShot04); shot2 = new Shot(new EShot01); break; case 5: break; case 6: break; case 7: break; default: printfDx("Enemy.cpp:ERROR"); break; } gh_shot00 = LoadGraph("GRAPH/GAME/Eshot/efire0.png"); }
//bgmのロード void load_bgm(int flag) { char str[64]; sprintf(str, "音楽/BGM/stage%d_%d.mp3", stage, flag); area[stage].bgm.handle=LoadSoundMem(str); }
void load(){ int t; SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS ) ; t=GetNowCount(); img_board[10] = LoadGraph("../dat/img/board/10.png"); img_board[11] = LoadGraph("../dat/img/board/11.png"); img_board[12] = LoadGraph("../dat/img/board/12.png"); img_board[20] = LoadGraph("../dat/img/board/20.png"); img_chetc[0] = LoadGraph( "../dat/img/char/atari.png" ); img_chetc[2] = LoadGraph( "../dat/img/char/ball.png" ); img_eff_bom[0] = LoadGraph( "../dat/img/effect/bom0.png" ); img_eff_bom[1] = LoadGraph( "../dat/img/effect/bom1.png" ); img_eff_bom[2] = LoadGraph( "../dat/img/char/body.png" ); img_eff_bom[3] = LoadGraph( "../dat/img/bullet/bom_title0.png" ); img_etc[1] = LoadGraph( "../dat/img/enemy/hp.png" ); img_etc[2] = LoadGraph( "../dat/img/enemy/bossback.png" ); img_etc[5] = LoadGraph( "../dat/img/enemy/bossback3.png" ); img_etc[6] = LoadGraph( "../dat/img/enemy/bossback4.png" ); img_etc[7] = LoadGraph( "../dat/img/enemy/hp_boss.png" );//ボスのHP img_etc[8] = LoadGraph( "../dat/img/board/hoshi.png" );//☆(41) LoadDivGraph( "../dat/img/bullet/b0.png" , 5 , 5 , 1 , 76 , 76 , img_bullet[0] ) ; LoadDivGraph( "../dat/img/bullet/b1.png" , 6 , 6 , 1 , 22 , 22 , img_bullet[1] ) ; LoadDivGraph( "../dat/img/bullet/b2.png" , 10 , 10 , 1 , 5 , 120 , img_bullet[2] ) ; LoadDivGraph( "../dat/img/bullet/b3.png" , 5 , 5 , 1 , 19 , 34 , img_bullet[3] ) ; LoadDivGraph( "../dat/img/bullet/b4.png" , 10 , 10 , 1 , 38 , 38 , img_bullet[4] ) ; LoadDivGraph( "../dat/img/bullet/b5.png" , 3 , 3 , 1 , 14 , 16 , img_bullet[5] ) ; LoadDivGraph( "../dat/img/bullet/b6.png" , 3 , 3 , 1 , 14 , 18 , img_bullet[6] ) ; LoadDivGraph( "../dat/img/bullet/b7.png" , 10 , 10 , 1 , 16 , 16 , img_bullet[7] ) ; LoadDivGraph( "../dat/img/bullet/b8.png" , 10 , 10 , 1 , 12 , 18 , img_bullet[8] ) ; LoadDivGraph( "../dat/img/bullet/b9.png" , 3 , 3 , 1 , 13 , 19 , img_bullet[9] ) ; LoadDivGraph( "../dat/img/bullet/b10.png", 8 , 8 , 1 , 8 , 8 , img_bullet[10] ) ; LoadDivGraph( "../dat/img/bullet/b11.png", 8 , 8 , 1 , 35 , 32 , img_bullet[11] ) ; LoadDivGraph( "../dat/img/bullet/l0.png" , 2 , 2 , 1 , 30 , 460 , img_lazer[0] ) ; LoadDivGraph( "../dat/img/bullet/l0_moto.png" , 2 , 2 , 1 , 70 , 70 , img_lazer_moto[0] ) ; LoadDivGraph( "../dat/img/enemy/hit_effect.png" , 5 , 5 , 1 , 140 , 140 , img_del_effect ) ; LoadDivGraph( "../dat/img/char/riria.png" , 8 , 8 , 1 , 100 , 100 , img_dot_riria ) ; LoadDivGraph( "../dat/img/char/0.png" , 12 , 4 , 3 , 73 , 73 , img_ch[0] ) ; LoadDivGraph( "../dat/img/enemy/0.png" , 9 , 3 , 3 , 32 , 32 , img_enemy[0] ) ; LoadDivGraph( "../dat/img/item/p0.png" , 2 , 2 , 1 , 35 , 35 , img_item[0] ) ; LoadDivGraph( "../dat/img/item/p1.png" , 2 , 2 , 1 , 35 , 35 , img_item[1] ) ; LoadDivGraph( "../dat/img/item/p2.png" , 2 , 2 , 1 , 15 , 15 , img_item[2] ) ; LoadDivGraph( "../dat/img/item/p3.png" , 2 , 2 , 1 , 35 , 35 , img_item[3] ) ; LoadDivGraph( "../dat/img/item/p4.png" , 2 , 2 , 1 , 35 , 35 , img_item[4] ) ; LoadDivGraph( "../dat/img/item/p5.png" , 2 , 2 , 1 , 35 , 35 , img_item[5] ) ; LoadDivGraph( "../dat/img/num/2.png" , 10 , 10 , 1 , 16 , 18 , img_num[0] ) ;//(41) img_cshot[0]=LoadGraph("../dat/img/char/bl_00.png"); img_cshot[1]=LoadGraph("../dat/img/char/bl_01.png"); img_back[0] = LoadGraph("../dat/img/back/0/back0.png"); img_back[10] = LoadGraph("../dat/img/back/10/kotei0.png"); img_back[11] = LoadGraph("../dat/img/back/10/scroll0.png"); sound_se[0]=LoadSoundMem("../dat/se/enemy_shot.wav"); sound_se[1]=LoadSoundMem("../dat/se/enemy_death.wav"); sound_se[2]=LoadSoundMem("../dat/se/cshot.wav"); sound_se[3]=LoadSoundMem("../dat/se/char_death.wav"); sound_se[8]=LoadSoundMem("../dat/se/hit.wav"); sound_se[9]=LoadSoundMem("../dat/se/boss_death.wav"); sound_se[11]=LoadSoundMem("../dat/se/boss_change.wav"); sound_se[14]=LoadSoundMem("../dat/se/bom0.wav"); sound_se[15]=LoadSoundMem("../dat/se/bom1.wav"); sound_se[33]=LoadSoundMem("../dat/se/lazer.wav"); sound_se[34]=LoadSoundMem("../dat/se/item_get.wav"); //sound_se[99]=LoadSoundMem("../dat/music/youmu.wav");//反魂蝶のBGMを再生する場合はココに音楽ファイルを用意して下さい ChangeVolumeSoundMem( 50, sound_se[0] ) ; ChangeVolumeSoundMem(128, sound_se[1] ) ; ChangeVolumeSoundMem(128, sound_se[2] ) ; ChangeVolumeSoundMem( 80, sound_se[3] ) ; ChangeVolumeSoundMem( 80, sound_se[8] ) ; //(41) color[0] = GetColor(255,255,255);//白 color[1] = GetColor( 0, 0, 0);//黒 color[2] = GetColor(255, 0, 0);//赤 color[3] = GetColor( 0,255, 0);//緑 color[4] = GetColor( 0, 0,255);//青 color[5] = GetColor(255,255, 0);//黄色 color[6] = GetColor( 0,255,255);//青緑 color[7] = GetColor(255, 0,255);//紫 font[0] = CreateFontToHandle( "HGPゴシックE" , 15 , 2 , DX_FONTTYPE_ANTIALIASING_EDGE); }
int Tutorial(void) { int Color; int MovingGraph;//操作方法グラフィック int PItemExplainGraph;//プラスアイテム説明グラフィック int MItemExplainGraph;//マイナスアイテム説明グラフィック int GameGraph;//ゲーム画面説明グラフィック int WordBeforeGameGraph;//ゲーム画面前文字グラフィック int GameRuleGraph;//ゲームグラフィック説明グラフィック int ScoreExGraph; //スコア計算方法説明グラフィック int PageUpSound; //ページ進み音 int PageDownSound; //ページ戻り音 //キー関係------- int Key; int BeforeInput; int UpInput; int DownInput; //-------------- int tutorialcounter;//ゲーム画面の出す順 Color = GetColor(255,255,255); MovingGraph = LoadGraph("graphic/moving.png"); PItemExplainGraph = LoadGraph("graphic/ItemExplain(Plus).png"); MItemExplainGraph = LoadGraph("graphic/ItemExplain(Minus).png"); GameGraph = LoadGraph("graphic/GameScreen.png"); WordBeforeGameGraph = LoadGraph("graphic/GameExplain(Word).png"); GameRuleGraph = LoadGraph("graphic/GameRule.png"); ScoreExGraph = LoadGraph("graphic/Score.png"); PageUpSound = LoadSoundMem("sound/pageup.wav"); PageDownSound = LoadSoundMem("sound/pagedown.wav"); tutorialcounter = 0; SetDrawScreen(DX_SCREEN_BACK); while(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE)==0) { BeforeInput = Key; Key = GetJoypadInputState(DX_INPUT_KEY_PAD1); UpInput = ~Key & BeforeInput; DownInput = Key & ~BeforeInput; ClsDrawScreen(); if(DownInput & PAD_INPUT_A) { tutorialcounter++; PlayEffect(PageUpSound); WaitTimer(50); } if(DownInput & PAD_INPUT_B) { tutorialcounter--; PlayEffect(PageDownSound); WaitTimer(50); } if(tutorialcounter < 0) { PlayEffect(CancelSound); StopEffect(TitleMusic); Title(); } if(tutorialcounter > 6) { StopEffect(TitleMusic); Title(); } switch(tutorialcounter) { case 0: { DrawGraph(0, 0, MovingGraph, TRUE); break; } case 1: { DrawGraph(0, 0, WordBeforeGameGraph, TRUE); break; } case 2: { DrawGraph(0, 0,GameGraph, TRUE); break; } case 3: { DrawGraph(0, 0,ScoreExGraph, TRUE); break; } case 4: { DrawGraph(0, 0,PItemExplainGraph, TRUE); break; } case 5: { DrawGraph(0, 0,MItemExplainGraph, TRUE); break; } case 6: { DrawGraph(0, 0,GameRuleGraph, TRUE); break; } } ScreenFlip(); } }
int Title() { #define WORD_SIZE 20 #define CMOVE 40 #define TITLE_TIP 350 #define TITLE_END TITLE_TIP + CMOVE * 2 int TitleGraph; //タイトルグラフィックハンドル int CursorGraph; //カーソルグラフィックハンドル int TutorialGraph[9]; int Color; //キー関係------- int Key; int BeforeInput; int UpInput; int DownInput; //-------------- int CursorX; int CursorY; TitleMusic = LoadSoundMem("sound/Title.ogg");//タイトルBGM LevelSelectMusic = LoadSoundMem("sound/levelselect.ogg"); EnterSound = LoadSoundMem("sound/decide.wav"); SelectSound = LoadSoundMem("sound/select.wav"); CancelSound = LoadSoundMem("sound/cancel.wav"); TitleGraph = LoadGraph("graphic/Title.png"); CursorGraph = LoadGraph("graphic/handicon.png"); LoadDivGraph("graphic/chip.png", 10, 2, 5, 32, 32, TutorialGraph); Color = GetColor(0, 0, 0); SetFontSize(WORD_SIZE); //カーソル位置の初期化 CursorX = 165; CursorY = TITLE_TIP; SetDrawScreen(DX_SCREEN_BACK); PlayEffectLoop(TitleMusic); while(ProcessMessage()==0 && CheckHitKey(KEY_INPUT_ESCAPE) ==0) { ClsDrawScreen(); BeforeInput = Key; Key = GetJoypadInputState(DX_INPUT_KEY_PAD1); UpInput = ~Key & BeforeInput; DownInput = Key & ~BeforeInput; if(DownInput & PAD_INPUT_UP) { CursorY -= CMOVE; PlayEffect(SelectSound); } if(DownInput & PAD_INPUT_DOWN) { CursorY += CMOVE; PlayEffect(SelectSound); } if(CursorY<=TITLE_TIP) { CursorY = TITLE_TIP; if(DownInput & PAD_INPUT_A) { StopEffect(TitleMusic); PlayEffect(EnterSound); PlayEffectLoop(LevelSelectMusic); LevelSelect(); return 0; } } if(CursorY == TITLE_TIP + CMOVE) { if(DownInput & PAD_INPUT_A) { PlayEffect(EnterSound); return Tutorial(); } } if(CursorY>=TITLE_END) { CursorY = TITLE_END; if(DownInput & PAD_INPUT_A) { StopEffect(TitleMusic); exit(0); } } DrawGraph(0, 0, TitleGraph, TRUE); DrawGraph(CursorX, CursorY, CursorGraph, TRUE); //画面の表示 ScreenFlip(); } }