Jypeli 10
The simple game programming library
ColorTileMap.cs
Siirry tämän tiedoston dokumentaatioon.
1using System;
2
3namespace Jypeli
4{
10 public class ColorTileMap : AbstractTileMap<Color>
11 {
12 private double _tolerance = 30;
13
15 protected override Color Null
16 {
17 get { return Color.Transparent; }
18 }
19
25 public double ColorTolerance
26 {
27 get { return _tolerance; }
28 set
29 {
30 if (value < 0) throw new ArgumentException("Tolerance must not be negative.");
31 _tolerance = value;
32 }
33 }
34
39 public ColorTileMap( Image img )
40 : base( img.GetData() )
41 {
42 }
43
48 public ColorTileMap(string assetName)
49 : this(Game.LoadImage(assetName))
50 {
51 }
52
57 public static ColorTileMap FromLevelAsset( string assetName )
58 {
59 return new ColorTileMap( Game.LoadImage( assetName ) );
60 }
61
68 protected virtual bool ItemEquals( Color a, Color b )
69 {
70 return ( a.AlphaComponent == b.AlphaComponent && Color.Distance( a, b ) <= ColorTolerance );
71 }
72
80 public void SetTileMethod(string hexCode, TileMethod method)
81 {
82 SetTileMethod(Color.FromHexCode(hexCode), method);
83 }
84
93 public void SetTileMethod<T1>(string hexCode, TileMethod<T1> method, T1 p1)
94 {
95 SetTileMethod(Color.FromHexCode(hexCode), method, p1);
96 }
97
107 public void SetTileMethod<T1, T2>(string hexCode, TileMethod<T1, T2> method, T1 p1, T2 p2)
108 {
109 SetTileMethod(Color.FromHexCode(hexCode), method, p1, p2);
110 }
111
122 public void SetTileMethod<T1, T2, T3>(string hexCode, TileMethod<T1, T2, T3> method, T1 p1, T2 p2, T3 p3)
123 {
124 SetTileMethod(Color.FromHexCode(hexCode), method, p1, p2, p3);
125 }
126 }
127}
Abstrakti ruutukartta. Tätä luokkaa et voi muodostaa. Katso ColorTileMap ja TileMap
delegate void TileMethod(Vector position, double width, double height)
delegate void TileMethod< T1, T2 >(Vector position, double width, double height, T1 p1, T2 p2)
delegate void TileMethod< T1, T2, T3 >(Vector position, double width, double height, T1 p1, T2 p2, T3 p3)
delegate void TileMethod< T1 >(Vector position, double width, double height, T1 p1)
Ruutukartta, jonka avulla olioita voidaan helposti asettaa tasavälein ruudukkoon. Ruutukartta koostuu...
Definition: ColorTileMap.cs:11
void SetTileMethod(string hexCode, TileMethod method)
Määrittää, että tietyn ruutukentän symbolin (tileSymbol) kohdalla kutsutaan aliohjelmaa f....
Definition: ColorTileMap.cs:80
ColorTileMap(string assetName)
Luo uuden ruutukartan.
Definition: ColorTileMap.cs:48
ColorTileMap(Image img)
Luo uuden ruutukartan.
Definition: ColorTileMap.cs:39
void SetTileMethod< T1, T2 >(string hexCode, TileMethod< T1, T2 > method, T1 p1, T2 p2)
Määrittää, että tietyn ruutukentän symbolin (tileSymbol) kohdalla kutsutaan aliohjelmaa f....
static ColorTileMap FromLevelAsset(string assetName)
Lukee ruutukentän Content-projektin kuvatiedostosta.
Definition: ColorTileMap.cs:57
void SetTileMethod< T1 >(string hexCode, TileMethod< T1 > method, T1 p1)
Määrittää, että tietyn ruutukentän symbolin (tileSymbol) kohdalla kutsutaan aliohjelmaa f....
Definition: ColorTileMap.cs:93
override Color Null
Definition: ColorTileMap.cs:16
void SetTileMethod< T1, T2, T3 >(string hexCode, TileMethod< T1, T2, T3 > method, T1 p1, T2 p2, T3 p3)
Määrittää, että tietyn ruutukentän symbolin (tileSymbol) kohdalla kutsutaan aliohjelmaa f....
double ColorTolerance
Väritoleranssi. Mitä pienempi toleranssi, sitä tarkemmin eri värit erotellaan toisistaan....
Definition: ColorTileMap.cs:26
virtual bool ItemEquals(Color a, Color b)
Vastaavatko alkiot toisiaan
Definition: ColorTileMap.cs:68
static Image LoadImage(string name)
Lataa kuvan contentista.
Definition: Content.cs:81
Kuva.
Definition: Image.cs:30
Väri.
Definition: Color.cs:13
static double Distance(Color a, Color b)
Laskee kahden värin (euklidisen) etäisyyden RGB-väriavaruudessa. Värikomponentit ovat välillä 0-255 j...
Definition: Color.cs:318
static readonly Color Transparent
Läpinäkyvä väri.
Definition: Color.cs:931
static Color FromHexCode(string hexString)
Palauttaa heksakoodia vastaavan värin.
Definition: Color.cs:174
byte AlphaComponent
Läpinäkymättömyys välillä 0-255
Definition: Color.cs:36