Ignore:
Timestamp:
2016-07-06 22:49:55 (3 years ago)
Author:
sieerinn
Message:

Hahmoille kuvat peliin, liike on myös vähän mariota muistuttavampi

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 2016/27/ohjaajat/VenienteFragore/VenienteFragore/VenienteFragore/Player.cs

    r7826 r7920  
    1414        public int PlayerNumber { get; set; } 
    1515        public SimplePhysics.Object Carrying { get; set; } 
     16        public List<Key> ControlKeys; 
    1617 
    1718        private readonly double fullHeight; 
    1819        private readonly double crouchHeight; 
    19  
    20         public List<Key> ControlKeys; 
     20        private double walk; 
    2121 
    2222        public Player(double width, double height) : base(width, height) 
     
    2424            fullHeight = height; 
    2525            crouchHeight = height / 2.0 - 1.0; 
     26            Friction = 0.2; 
    2627        } 
    2728 
     
    3839            IgnoresCollisionResponse = true; 
    3940            IgnoresGravity = true; 
    40             Position = new Vector(Double.MinValue, Double.MinValue); 
     41            Position = new Vector(double.MinValue, double.MinValue); 
    4142        } 
    4243 
     44        public override void Walk(double speed) 
     45        { 
     46            if (speed > 0) Turn(Direction.Right); 
     47            if (speed < 0) Turn(Direction.Left); 
     48            walk = speed; 
     49            Friction = 0.0; 
     50        } 
     51         
    4352        public override void Update(Time time) 
     53        { 
     54            var dt = time.SinceLastUpdate.TotalSeconds; 
     55 
     56            var vel = Velocity.X; 
     57            if (Math.Abs(vel) < 200) 
     58            { 
     59                vel += walk * 3 * dt; 
     60            } 
     61            Velocity = new Vector(vel, Velocity.Y); 
     62 
     63            HandleCrouch(); 
     64 
     65            if (Carrying != null) 
     66            { 
     67                Carrying.X = this.X; 
     68                Carrying.Bottom = this.Top; 
     69            } 
     70 
     71            base.Update(time); 
     72 
     73            if (Math.Abs(walk) > 0) 
     74            { 
     75                walk = 0; 
     76                Friction = 0.2; 
     77            } 
     78 
     79        } 
     80 
     81        private void HandleCrouch() 
    4482        { 
    4583            if (!IsCrouching && Crouch) 
     
    65103                } 
    66104            } 
    67  
    68             if (Carrying != null) 
    69             { 
    70                 Carrying.X = this.X; 
    71                 Carrying.Bottom = this.Top; 
    72             } 
    73  
    74             base.Update(time); 
    75105        } 
    76106    } 
Note: See TracChangeset for help on using the changeset viewer.