Jypeli 10
The simple game programming library
Appearance.cs
Siirry tämän tiedoston dokumentaatioon.
1using Microsoft.Xna.Framework;
2
3namespace Jypeli
4{
5 public partial class Widget
6 {
10 public Color BorderColor { get; set; }
11
12 private void InitAppearance()
13 {
15 this.IgnoresLighting = true;
16 }
17
23 public virtual void Draw( Matrix parentTransformation, Matrix transformation )
24 {
25 }
26
31 public void Draw( Matrix parentTransformation )
32 {
33 if (!IsVisible)
34 return;
35
36 Matrix transformation =
37 Matrix.CreateScale( (float)Size.X, (float)Size.Y, 1f )
38 * Matrix.CreateRotationZ( (float)Angle.Radians )
39 * Matrix.CreateTranslation( (float)Position.X, (float)Position.Y, 0f )
40 * parentTransformation;
41
42 var lightingEnabled = Renderer.LightingEnabled;
44
45 if ( Image != null && ( !TextureFillsShape ) )
46 {
47 Renderer.DrawImage( Image, ref transformation, TextureWrapSize );
48 }
49 else if ( Image != null )
50 {
51 Renderer.DrawShape( Shape, ref transformation, ref transformation, Image, TextureWrapSize, Color );
52 }
53 else
54 {
55 Renderer.DrawShape( Shape, ref transformation, Color );
56 }
57
59 {
60 Graphics.LineBatch.Begin( ref transformation );
61 {
62 Vector[] vertices = Shape.Cache.OutlineVertices;
63 for ( int i = 0; i < vertices.Length - 1; i++ )
64 {
65 Graphics.LineBatch.Draw( vertices[i], vertices[i + 1], BorderColor );
66 }
67 Graphics.LineBatch.Draw( vertices[vertices.Length - 1], vertices[0], BorderColor );
68 }
70 }
71
72 Draw( parentTransformation, transformation );
73
74 if ( _childObjects != null && _childObjects.Count > 0 )
75 {
76 foreach (var child in Objects)
77 {
78 Widget wc = child as Widget;
79
80 if (wc != null && wc.IsVisible)
81 {
82 wc.Draw(Matrix.CreateTranslation(0, 0, 0));
83 }
84 }
85 }
86
87 Renderer.LightingEnabled = lightingEnabled;
88 }
89 }
90}
bool TextureFillsShape
Jos true, kuva piirretään niin, ettei se mene olion muodon ääriviivojen yli. Toisin sanoen kuva p...
Definition: Appearance.cs:81
override Vector?? Position
Definition: Dimensions.cs:72
SynchronousList< GameObject > Objects
Olion lapsioliot. Saa muuttaa.
Definition: ChildObjects.cs:46
SynchronousList< GameObject > _childObjects
Definition: ChildObjects.cs:39
Vector TextureWrapSize
Määrittää kuinka moneen kertaan kuva piirretään. Esimerkiksi (3.0, 2.0) piirtää kuvan 3 kerta...
Definition: Appearance.cs:56
bool IgnoresLighting
Jättääkö olio kentän valaistuksen huomiotta. Asetettu oletuksena käyttöliittymäkomponenteilla...
Definition: Appearance.cs:90
bool IsVisible
Piirretäänkö oliota ruudulle.
Definition: Appearance.cs:43
override Vector Size
Olion koko pelimaailmassa. Kertoo olion äärirajat, ei muotoa.
Definition: Dimensions.cs:44
Contains graphics resources.
Definition: Graphics.cs:36
static LineBatch LineBatch
Definition: Graphics.cs:49
Kuva.
Definition: Image.cs:30
void Draw(Vector startPoint, Vector endPoint, Color color)
Definition: LineBatch.cs:48
void Begin(ref Matrix matrix)
Definition: LineBatch.cs:17
Luokka, joka sisältää metodeita kuvioiden ja tekstuurien piirtämiseen 2D-tasossa.
Definition: Renderer.cs:50
static void DrawShape(Shape shape, ref Matrix transformation, ref Matrix textureTransformation, Image texture, Vector textureWrapSize, Color color)
Piirtää kuvion niin, että tekstuuri täyttää sen.
Definition: Renderer.cs:336
static void DrawImage(Image texture, ref Matrix matrix, Vector wrapSize)
Piirtää kuvan
Definition: Renderer.cs:133
static bool LightingEnabled
Onko valaistus käytössä
Definition: Renderer.cs:74
readonly Vector[] OutlineVertices
Ulkoreunan verteksit, lueteltuna vastapäivään.
Definition: Shapes.cs:636
Kuvio.
Definition: Shapes.cs:47
abstract ShapeCache Cache
Muodon verteksit sisällään pitävä olio.
Definition: Shapes.cs:58
Käyttöliittymän komponentti.
Definition: Appearance.cs:6
Widget(Animation animation)
Alustaa widgetin.
Definition: Widget.cs:14
virtual void Draw(Matrix parentTransformation, Matrix transformation)
Piirtää elementin ruudulle
Definition: Appearance.cs:23
void InitAppearance()
Definition: Appearance.cs:12
Color BorderColor
Reunojen väri.
Definition: Appearance.cs:10
void Draw(Matrix parentTransformation)
Piirtää elementin ruudulle
Definition: Appearance.cs:31
Microsoft.Xna.Framework.Matrix Matrix
Definition: Mouse.cs:36
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
Definition: Angle.cs:40
double Radians
Palauttaa tai asettaa kulman radiaaneina.
Definition: Angle.cs:85
Väri.
Definition: Color.cs:13
static readonly Color Transparent
Läpinäkyvä väri.
Definition: Color.cs:931
2D-vektori.
Definition: Vector.cs:67
double Y
Vektorin Y-komponentti
Definition: Vector.cs:339
double X
Vektorin X-komponentti.
Definition: Vector.cs:334