4 using Microsoft.Xna.Framework;
5 using System.Collections.Generic;
6 using Microsoft.Xna.Framework.Graphics;
16 private static Image commonImage = null;
18 private double topspeed;
32 get {
return SpeedMeter.Value; }
38 public double TopSpeed
40 get {
return topspeed; }
44 SpeedMeter.MaxValue = topspeed;
52 public double Acceleration {
get;
set; }
58 public double BrakeDeceleration {
get;
set; }
63 public Angle Maneuverability {
get;
set; }
65 private double pendingAcceleration = 0;
66 private double pendingDeceleration = 0;
79 BrakeDeceleration = 200;
81 if ( commonImage == null )
93 pendingAcceleration += Acceleration * time;
102 pendingDeceleration += BrakeDeceleration * time;
136 int sign = Math.Sign( angle.
Radians );
137 Angle += ( sign * angle <= time * Maneuverability ) ? angle : sign * time * Maneuverability;
147 bool nochange =
true;
149 if ( pendingAcceleration != 0 )
152 double accel = Math.Min( pendingAcceleration, Acceleration * dt );
153 pendingAcceleration -= accel;
155 Velocity +=
Vector.FromLengthAndAngle( accel,
Angle );
156 SpeedMeter.Value += accel;
161 if ( pendingDeceleration > 0 )
164 double decel =
AdvanceMath.MathHelper.Min((
float)pendingDeceleration, (
float)(BrakeDeceleration * dt), (
float)Velocity.Magnitude);
165 pendingDeceleration -= decel;
167 Velocity +=
Vector.FromLengthAndAngle( -decel, Velocity.Angle );
168 SpeedMeter.Value -= decel;
176 SpeedMeter.Value -= dt * Acceleration;
static Image LoadImageFromResources(string name)
void Brake(double time)
Jarruttaa.
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
Peliolio, joka noudattaa fysiikkamoottorin määräämiä fysiikan lakeja. Voidaan kuitenkin myös laittaa ...
TimeSpan SinceLastUpdate
Aika joka on kulunut viime päivityksestä.
Mittari, joka mittaa double-tyyppisiä arvoja. Sidottavissa näyttöihin, kuten ValueDisplay ja BarGauge...
Sisältää tiedon ajasta, joka on kulunut pelin alusta ja viime päivityksestä.
Peliluokka reaaliaikaisille peleille.
static Image Color(Image image, Color color)
Värittää kuvan.
double Radians
Palauttaa tai asettaa kulman radiaaneina.
Automobile(double width, double height)
Alustaa uuden auton.
static Time Time
Peliaika. Sisältää tiedon siitä, kuinka kauan peliä on pelattu (Time.SinceStartOfGame) ja kuinka kaua...
void Accelerate()
Kiihdyttää.
void Turn(Angle angle, double time)
Kääntyy niin paljon kuin auton ohjattavuus sallii.
void Reverse()
Kiihdyttää takaperin.
void Accelerate(double time)
Kiihdyttää.
override void Update(Time time)
Ajetaan kun pelitilannetta päivitetään. Päivityksen voi toteuttaa omassa luokassa toteuttamalla tämän...
static Angle FromDegrees(double degree)
Luo kulman annettujen asteiden mukaan.