Jypeli 10
The simple game programming library
Flame.cs
Siirry tämän tiedoston dokumentaatioon.
1using Microsoft.Xna.Framework;
2
3namespace Jypeli.Effects
4{
8 public class Flame : ParticleSystem
9 {
10 private double addTime;
15 public Flame(Image image)
16 : base(image, 180)
17 {
19 BlendMode = BlendMode.Alpha;
20 }
21
25 protected override void InitializeParticles()
26 {
27 MinLifetime = 2.0;
28 MaxLifetime = 2.2;
29
30 MinScale = 70;
31 MaxScale = 100;
32
33 ScaleAmount = -2.0;
34 AlphaAmount = 1.0;
35
36 MinVelocity = 40;
37 MaxVelocity = 70;
38
41
42 MinRotationSpeed = -MathHelper.PiOver4;
43 MaxRotationSpeed = MathHelper.PiOver4;
44
45 }
46
51 protected override Vector GiveRandomDirection()
52 {
54 }
55
60 public override void Update(Time time)
61 {
62 double t = time.SinceLastUpdate.TotalSeconds;
63 addTime += t;
64 if (addTime > 0.05)
65 {
66 base.AddEffect(Position, 2);
67 addTime = 0;
68 }
69 base.Update(time);
70 }
71
77 protected override void InitializeParticle(Particle p, Vector position)
78 {
79 base.InitializeParticle(p, position);
80 if (!IgnoreWind)
82 }
83 }
84}
Järjestelmä liekeille
Definition: Flame.cs:9
double addTime
Definition: Flame.cs:10
Flame(Image image)
Luo uuden liekin.
Definition: Flame.cs:15
override void InitializeParticle(Particle p, Vector position)
Alustetaan partikkeli
Definition: Flame.cs:77
override Vector GiveRandomDirection()
Lasketaan liekin suunnalle satunnaisuutta
Definition: Flame.cs:51
override void Update(Time time)
Päivitetään liekkiä
Definition: Flame.cs:60
override void InitializeParticles()
Määritetään oletusarvot efektille
Definition: Flame.cs:25
Vector Acceleration
Partikkelin kiihtyvyys
Definition: Particle.cs:70
Järjestelmä partikkelien käsittelyyn
Boolean IgnoreWind
Vaikuttaako efektiin tuuli
double MinScale
Pienin skaalaus joka efektin partikkeleilla voi olla
double AlphaAmount
Efektin läpinäkyvyyskerroin (0.0-1.0)
double MaxLifetime
Efektin partikkelin pisin mahdollinen elinaika
double MaxScale
Suurin skaalaus joka efektin partikkeleilla voi olla
double MinLifetime
Efektin partikkelin lyhin mahdollinen elinaika
double MaxAngleChange
Suurin sallittu suunnan poikkeama asteina
double ScaleAmount
Määrä jonka partikkeli skaalautuu päivityksessä
double MaxRotationSpeed
Suurin pyörimisnopeus joka efektin partikkelilla voi olla
double MinVelocity
Pienin nopeus joka efektin partikkelilla voi olla
double MinRotationSpeed
Pienin pyörimisnopeus joka efektin partikkelilla voi olla
double MaxVelocity
Suurin nopeus joka efektin partikkelilla voi olla
double MinAcceleration
Pienin kiihtyvyys joka efektin partikkelilla voi olla
double MaxAcceleration
Suurin kiihtyvyys joka efektin partikkelilla voi olla
static Vector Wind
Tuuli. Vaikuttaa vain efekteihin
Definition: Effects.cs:21
override Vector?? Position
Definition: Dimensions.cs:72
Kuva.
Definition: Image.cs:30
Satunnaisgeneraattori. Luo satunnaisia arvoja, mm. lukuja, vektoreita sekä kulmia.
Definition: RandomGen.cs:39
static double NextDouble(double min, double max)
Palauttaa satunnaisen liukuluvun parametrien
Definition: RandomGen.cs:70
BlendMode
Sekoitusmoodi, kuinka päällekkäin olevat osittain läpinäkyvät kappaleet näkyvät
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
Definition: Angle.cs:40
static Angle FromDegrees(double degree)
Luo kulman annettujen asteiden mukaan.
Definition: Angle.cs:324
Sisältää tiedon ajasta, joka on kulunut pelin alusta ja viime päivityksestä.
Definition: Time.cs:14
TimeSpan SinceLastUpdate
Aika joka on kulunut viime päivityksestä.
Definition: Time.cs:27
2D-vektori.
Definition: Vector.cs:67
static Vector FromLengthAndAngle(double length, double angle)
Luo vektorin pituuden ja kulman perusteella.
Definition: Vector.cs:114