2 using System.Collections.Generic;
5 using Microsoft.Xna.Framework;
15 Matrix scale = Matrix.Identity;
16 Matrix rotate = Matrix.Identity;
17 Matrix rotateAndScale = Matrix.Identity;
31 ImageSize = value.
Size;
39 get {
return _empty; }
44 ImageSize = value.
Size;
52 get {
return _imgSize; }
56 scale = Matrix.CreateScale( (
float)value.X, (
float)value.Y, 1f );
57 rotateAndScale = scale * rotate;
71 rotate = Matrix.CreateRotationZ( (
float)(
Angle ).Radians );
72 rotateAndScale = scale * rotate;
78 get {
return _spacing; }
98 private void UpdateSize()
100 double maxval = Bound ?
Meter.GetMaxValue() : 10;
101 this.Width = ( ImageSize.X + Spacing ) *
Meter.GetMaxValue() - Spacing;
102 this.Height = ImageSize.Y;
110 base.BindTo( meter );
118 var meter = (IntMeter)
Meter;
121 empties = meter.MaxValue - meter.Value;
125 var meter = (DoubleMeter)
Meter;
126 fulls = (int)Math.Floor( meter.Value );
127 part = meter.Value - fulls;
128 empties = (int)( meter.MaxValue - fulls );
132 protected override void Draw( Matrix parentTransformation, Matrix transformation )
136 base.Draw( parentTransformation, transformation );
140 float imgdist = (float)( ImageSize.X + Spacing );
141 Matrix toLeft = Matrix.CreateTranslation( (
float)( -Width / 2 + Full.Width / 2 ), 0, 0 );
147 for (
int i = 0; i < fulls; i++ )
150 * Matrix.CreateTranslation( (
float)Position.X + i * imgdist, (
float)Position.Y, 0.0f )
152 * parentTransformation;
159 double partWidth = ImageSize.X * part;
161 Matrix translateAndRotate = rotate
162 * Matrix.CreateTranslation( (
float)Position.X + fulls * imgdist, (
float)Position.Y, 0.0f )
164 * parentTransformation;
166 Matrix imp = Matrix.CreateScale( (
float)partWidth, (
float)ImageSize.Y, 1f )
167 * Matrix.CreateTranslation( (
float)( partWidth / 2 ), 0, 0 )
168 * Matrix.CreateTranslation( (
float)( -ImageSize.X / 2 ), 0, 0 )
169 * translateAndRotate;
171 Matrix imf = scale * translateAndRotate;
180 for (
int i = fulls; i < fulls + empties; i++)
183 * Matrix.CreateTranslation((
float)Position.X + i * imgdist, (
float)Position.Y, 0.0f)
185 * parentTransformation;
191 base.Draw( parentTransformation, transformation );
static void DrawImage(Image texture, ref Matrix matrix, Vector wrapSize)
Vector Size
Animaation koko. Vector.Zero, jos animaatiossa ei ole yhtään ruutua.
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
static readonly Rectangle Rectangle
Suorakulmio.
static readonly Vector Zero
Nollavektori.
Mittari, joka mittaa double-tyyppisiä arvoja. Sidottavissa näyttöihin, kuten ValueDisplay ja BarGauge...
static void EndDrawingInsideShape()
static ScreenView Screen
Näytön dimensiot, eli koko ja reunat.
static readonly Color Transparent
Läpinäkyvä väri.
Peliluokka reaaliaikaisille peleille.
Mittari, joka mittaa int-tyyppisiä arvoja. Sidottavissa näyttöihin, kuten ValueDisplay ja BarGauge...
static readonly Vector Diagonal
Diagonaalivektori (1,1)
Sarja kuvia, jotka vaihtuvat halutulla nopeudella. Yksi animaatio koostuu yhdestä tai useammasta kuva...
Luokka, joka sisältää metodeita kuvioiden ja tekstuurien piirtämiseen 2D-tasossa. ...
double Width
Näytön leveys x-suunnassa.
Mittari, joka mittaa erityyppisiä arvoja. Sidottavissa näyttöihin, kuten ValueDisplay ja BarGauge...
static void BeginDrawingInsideShape(Shape shape, ref Matrix transformation)
Makes all the subsequent draw calls until EndDrawingInsideShape limit the drawing inside shape (trans...