//初期化 public void Initialize() { barrageSpeed = 0; //最初は止まっているので0 tRank = TimingRank.NULL; //最初は評価無し isGameSet = false; //最初はゲームが終了していない状態 pAnim = PlayerAnim.Run; //最初はIdle状態 timing = new Timing(); isStop = false; isThrow = false; }
//プレイヤーの移動をとめてアニメーションを遷移 public void PlayerStop(GameTime gameTime) { if (isThrow) { return; } isStop = true; timing.SetStart(); timing.Update(gameTime); if (Input.IsKeyDown(Keys.Space)) { tRank = timing.GetTiming(); //移動量を0にする velocity.X = 0; pAnim = PlayerAnim.Throw; //アニメーションを投げに遷移 isThrow = true; } }
//タイミングをチェックする public TimingRank GetTiming() { float currntTime = timer.Now() / 5; if (currntTime >= 0.75f) { timingRank = TimingRank.Fast; //1 ~0.75 } if (currntTime >= 0.26f && currntTime <= 0.75f) { timingRank = TimingRank.Good; //0.75~0.26 } if (currntTime >= 0.2f && currntTime <= 0.26f) { timingRank = TimingRank.Excellent; //0.26~0.2 } if (currntTime <= 0.2f) { timingRank = TimingRank.Slow; //0.2未満 } return(timingRank); }
private bool timerStart; //カウントを始める //コンストラクタ public Timing() { timer = new CountDownTimer(5.0f); //タイミングを5秒内でやる timingRank = TimingRank.NULL; //最初はNULL timerStart = false; }