Changeset 5354 for 2014/27


Ignore:
Timestamp:
2014-07-03 13:40:12 (5 years ago)
Author:
mijoilmo
Message:
 
Location:
2014/27/AleksanteriV/Protokolla236
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • 2014/27/AleksanteriV/Protokolla236/Protokolla236/Protokolla236/MikonPhysicsObject.cs

    r5337 r5354  
    1212    private Vector velocity; 
    1313    public Vector Velocity { get { return velocity; } set { velocity = value; } } 
     14    private Angle angularVelocity; 
     15    public Angle AngularVelocity { get { return angularVelocity; } set { angularVelocity = value; } } 
    1416    private double mass; 
    1517    public double Mass { get { return mass; } set { mass = value; } } 
     18    private bool ignoresGravity; 
     19    public bool IgnoresGravity { get { return ignoresGravity; } set { ignoresGravity = value; } } 
    1620    public override void Update(Time time) 
    1721    { 
    18         this.Position += this.velocity / this.mass / 40; 
    19         if (this.parent.Level.Left > this.Position.X || this.parent.Level.Right < this.Position.X) { 
     22        this.Position += this.velocity / this.mass / 20; 
     23        if (!this.ignoresGravity) 
     24        { 
     25            this.Velocity += this.parent.Gravity / 120; 
     26        } 
     27        this.Angle += this.angularVelocity; 
     28        if (this.parent.Level.Left > this.Position.X || this.parent.Level.Right < this.Position.X) 
     29        { 
    2030            this.Destroy(); 
    2131        } 
    22         if (this.parent.Level.Bottom > this.Position.Y || this.parent.Level.Top < this.Position.Y) { 
     32        if (this.parent.Level.Bottom > this.Position.Y || this.parent.Level.Top < this.Position.Y) 
     33        { 
    2334            this.Destroy(); 
    2435        } 
    2536        base.Update(time); 
    2637    } 
    27     public MikonParticle(Protokolla236 parent,double w, double h) 
     38    public MikonParticle(Protokolla236 parent, double w, double h) 
    2839        : base(w, h) 
    2940    { 
     
    91102                        else 
    92103                        { 
    93                             MikonParticle childBox = new MikonParticle(this.game,pieceWidth, pieceHeight); 
     104                            MikonParticle childBox = new MikonParticle(this.game, pieceWidth, pieceHeight); 
    94105                            childBox.Tag = this.Tag; 
    95                             //childBox.IgnoresGravity = this.IgnoresGravity; 
     106                            childBox.IgnoresGravity = this.IgnoresGravity; 
    96107                            childBox.Image = imageArea; 
    97108                            childBox.Mass = this.Mass; 
    98109 
    99110                            childBox.AbsoluteAngle = this.AbsoluteAngle; 
    100                             //childBox.AngularVelocity = this.AngularVelocity; 
     111                            childBox.AngularVelocity = Angle.FromDegrees(this.AngularVelocity * 7); 
    101112 
    102113                            childBox.Position = this.Position + startCorner 
     
    104115                                + Vector.FromLengthAndAngle(y * pieceHeight, this.AbsoluteAngle + Angle.RightAngle); //plus y                                           
    105116 
    106                             childBox.Velocity = this.Velocity; 
     117                            childBox.Velocity = this.Velocity + RandomGen.NextVector(10, 30); 
    107118 
    108119                            //if (RandomGen.NextDouble(0, 1) < 0.2) 
Note: See TracChangeset for help on using the changeset viewer.