void CheckTapInput(GameTime gameTime) { // jump on two finger tap touches = TouchPanel.GetState(); // reduce speed if no input has been given in a while timeSinceLastHit += gameTime.ElapsedGameTime.Milliseconds; if (timeSinceLastHit > currentTolerance) { currentRunningSpeed--; timeSinceLastHit = 0f; } if (!player.IsGrounded) { previousDrumSide = DrumSide.side.NONE; return; } if (touches.Count == 1 && touches[0].State == TouchLocationState.Pressed) { if (CheckDrumHit(touches, leftDrum) && (previousDrumSide != DrumSide.side.LEFT || previousDrumSide == DrumSide.side.NONE)) { bongo1.Play(); //if (CheckDrumTiming(leftDrum, gameTime)) //{ // successCounter++; // if (successCounter % 10 == 0) // { // currentTempo += 1; // successCounter = 0; // } // dino.physics.Velocity -= Vector2.UnitX * 0.1f; // previousDrumSide = leftDrum.drumSide; // //player.physics.AddForce(Vector2.UnitX * 2000); //} //else //{ // dino.physics.Velocity += Vector2.UnitX * 0.08f; //} timeSinceLastHit = 0f; currentRunningSpeed++; previousDrumSide = leftDrum.drumSide; dino.transform.Position -= Vector2.UnitX * Math.Max(1, maxRunningSpeed / (currentRunningSpeed)); } else if (CheckDrumHit(touches, rightDrum) && (previousDrumSide != DrumSide.side.RIGHT || previousDrumSide == DrumSide.side.NONE)) { bongo2.Play(); //if (CheckDrumTiming(rightDrum, gameTime)) //{ // successCounter++; // if(successCounter % 10 == 0) // { // currentTempo += 2; // successCounter = 0; // } // dino.physics.Velocity -= Vector2.UnitX * 0.1f; // previousDrumSide = rightDrum.drumSide; // //player.physics.AddForce(Vector2.UnitX * 2000); //} //else //{ // dino.physics.Velocity += Vector2.UnitX * 0.25f; //} timeSinceLastHit = 0f; currentRunningSpeed++; previousDrumSide = rightDrum.drumSide; dino.transform.Position -= Vector2.UnitX * Math.Max(1, maxRunningSpeed / (currentRunningSpeed)); } } else if (touches.Count == 2 && CheckDrumHit(touches, leftDrum, rightDrum) && (touches[0].State == TouchLocationState.Pressed || touches[0].State == TouchLocationState.Moved) && (touches[1].State == TouchLocationState.Pressed || touches[1].State == TouchLocationState.Moved)) { player.Jump(); } // clamp tempo to maxTempo if (currentRunningSpeed > maxRunningSpeed) currentRunningSpeed = maxRunningSpeed; }
void CheckTapInput(GameTime gameTime) { // jump on two finger tap touches = TouchPanel.GetState(); // reduce speed if no input has been given in a while timeSinceLastHit += gameTime.ElapsedGameTime.Milliseconds; if (timeSinceLastHit > currentTolerance) { currentRunningSpeed--; timeSinceLastHit = 0f; } if (!player.IsGrounded) { previousDrumSide = DrumSide.side.NONE; return; } if (touches.Count == 1 && touches[0].State == TouchLocationState.Pressed) { if (CheckDrumHit(touches, leftDrum) && (previousDrumSide != DrumSide.side.LEFT || previousDrumSide == DrumSide.side.NONE)) { bongo1.Play(); //if (CheckDrumTiming(leftDrum, gameTime)) //{ // successCounter++; // if (successCounter % 10 == 0) // { // currentTempo += 1; // successCounter = 0; // } // dino.physics.Velocity -= Vector2.UnitX * 0.1f; // previousDrumSide = leftDrum.drumSide; // //player.physics.AddForce(Vector2.UnitX * 2000); //} //else //{ // dino.physics.Velocity += Vector2.UnitX * 0.08f; //} timeSinceLastHit = 0f; currentRunningSpeed++; previousDrumSide = leftDrum.drumSide; dino.transform.Position -= Vector2.UnitX * Math.Max(1, maxRunningSpeed / (currentRunningSpeed)); } else if (CheckDrumHit(touches, rightDrum) && (previousDrumSide != DrumSide.side.RIGHT || previousDrumSide == DrumSide.side.NONE)) { bongo2.Play(); //if (CheckDrumTiming(rightDrum, gameTime)) //{ // successCounter++; // if(successCounter % 10 == 0) // { // currentTempo += 2; // successCounter = 0; // } // dino.physics.Velocity -= Vector2.UnitX * 0.1f; // previousDrumSide = rightDrum.drumSide; // //player.physics.AddForce(Vector2.UnitX * 2000); //} //else //{ // dino.physics.Velocity += Vector2.UnitX * 0.25f; //} timeSinceLastHit = 0f; currentRunningSpeed++; previousDrumSide = rightDrum.drumSide; dino.transform.Position -= Vector2.UnitX * Math.Max(1, maxRunningSpeed / (currentRunningSpeed)); } } else if (touches.Count == 2 && CheckDrumHit(touches, leftDrum, rightDrum) && (touches[0].State == TouchLocationState.Pressed || touches[0].State == TouchLocationState.Moved) && (touches[1].State == TouchLocationState.Pressed || touches[1].State == TouchLocationState.Moved)) { player.Jump(); } // clamp tempo to maxTempo if (currentRunningSpeed > maxRunningSpeed) { currentRunningSpeed = maxRunningSpeed; } }