Beispiel #1
0
 public void PerformJump(Vector2 playerPosition)
 {
     if (IsPlayerOnGround(playerPosition))
     {
         verticalVelocity = PhysicsValues.GetJumpAcceleration();
     }
 }
Beispiel #2
0
        private bool IsPlayerOnGround(Vector2 playerPosition)
        {
            Vector2 leftFoot  = PhysicsValues.GetLeftFootPosition(playerPosition);
            Vector2 rightFoot = PhysicsValues.GetRightFootPosition(playerPosition);

            return(LevelAnalysis.IsVectorOnGround(level, leftFoot) || LevelAnalysis.IsVectorOnGround(level, rightFoot));
        }
Beispiel #3
0
        public Vector2 DoPlayerPhysics(Vector2 playerPosition)
        {
            if (!IsPlayerOnGround(playerPosition))
            {
                verticalVelocity -= PhysicsValues.GetGravityAccelerationPerFrame();
            }

            return(playerPosition + new Vector2(PhysicsValues.GetHorizontalPlayerVelocityPerFrame(), verticalVelocity));
        }