// パワーアーツ bool Thief::PowerArts(void) { if ( !initflag ) { artsTimer = 0; sound->PlaySE( SE::KAITO_POWER ); initflag = true; } SetMotion(THIEF::MOTION_DATA::POWERARTS); //if (obj->GetFrame() >= 277) obj->SetFrame(277); // 行列から情報取得 Vector3 front = GetFront(); Vector3 p_pos = GetPos(); SetMove(Vector3(0.0f, move.y, 0.0f)); // 情報設定 p_pos.y += 1.0f; Vector3 vec = front * 1.0f; float bulletSpeed = 0.8f; int playerNum = GetPlayerNum(); if (artsTimer == 0/* obj->GetFrame() == ○○ */) { m_BulletManager->Set(BULLET_TYPE::THIEF_02, new ThiefBullet02, p_pos, vec, bulletSpeed, playerNum); } artsTimer++; if (obj->GetFrame() == THIEF::MOTION_FRAME::POWERARTS_END) { artsTimer = 0; initflag = false; return true; } return false; }
int IBattle::GetMyPlayerNum() const { return GetPlayerNum( GetMe() ); }
// クイックアーツ bool Thief::QuickArts(void) { static int time = 0; if ( !initflag ) { sound->PlaySE( SE::KAITO_QUICK ); initflag = true; } Move(); // 行列から情報取得 Vector3 up = GetUp(); Vector3 right = GetRight(); Vector3 p_pos = GetPos(); SetMove(Vector3(0.0f, move.y, 0.0f)); SetMotion(THIEF::MOTION_DATA::QUICKARTS); //if (obj->GetFrame() >= 237) obj->SetMotion(237); // 情報設定 Vector3 vec[3] = { up * 5.0f + right * 3.0f, up * 5.0f, up * 5.0f + right * -3.0f }; p_pos.y += 3.0f; float bulletSpeed = 0.5f; int playerNum = GetPlayerNum(); { //撃った時に動きが一度止まるパターン // //モーションアトデナオス(ちょうどいい感じのフレームが来たら弾発射) //if (time == 0 /* obj->GetFrame() == ○○ */ ) //{ // for (int i = 0; i < 3; i++) // { // m_BulletManager->Set(BULLET_TYPE::THIEF_01 , new ThiefBullet01, p_pos, vec[i], bulletSpeed, playerNum); // } //} //time++; ////モーションアトデナオス(終わりのモーションが来たら終了) //if (obj->GetFrame() == 237) //{ // time = 0; // return true; //} } { //撃った時に動きが止まらないパターン for (int i = 0; i < 3; i++) { m_BulletManager->Set(BULLET_TYPE::THIEF_01 , new ThiefBullet01, p_pos, vec[i], bulletSpeed, playerNum); } attackInfo.Interval = 60; initflag = false; return true; } return false; }