66 get {
return Size.
X; }
88 public double Speed {
get;
set; }
94 public double Force {
get;
set; }
125 : base( 0.1, 0.1,
Shape.Circle )
164 if ( o ==
null )
throw new NullReferenceException(
"Object must not be null" );
165 if ( handler ==
null )
throw new NullReferenceException(
"Handler must not be null" );
170 handler( target, shockForce );
181 if (tag ==
null)
throw new NullReferenceException(
"Tag must not be null");
182 if (handler ==
null)
throw new NullReferenceException(
"Handler must not be null");
186 string targetTagAsString = target.
Tag as string;
188 if (targetTagAsString !=
null && targetTagAsString == tag)
189 handler(target, shockForce);
196 if ( distanceFromEdge >= 0 )
200 double shockQuotient = 1 / Math.Pow( relDistance, 2 );
201 double shockForce =
Force * shockQuotient;
203 if ( Math.Abs( shockForce ) >
float.Epsilon )
206 target.
Hit( shockVector );
249 foreach ( var o
in layer.Objects )
281 if ( !
double.IsNaN( pan ) )
static Scalar Clamp(Scalar value, Scalar min, Scalar max)
Color ShockwaveColor
Paineaallon väri. Shockwave.Color = Color.White
Explosion(double radius)
Luo uuden räjähdyksen.
double Force
Voima, jolla räjähdyksen paineaallon uloin reuna heittää olioita räjähdyksestä poispäin....
double MaxRadius
Suurin säde, johon räjähdys voi kasvaa.
SynchronousList< PhysicsObject > shockwaveHitObjects
Explosion(Explosion src)
Luo uuden räjähdyksen entisen pohjalta.
void applyShockwave(PhysicsObject target, Vector distance)
void AddShockwaveHandler(IPhysicsObject o, Action< IPhysicsObject, Vector > handler)
Laukaisee aliohjelman handler, kun tämän räjähdyksen paineaalto osuu olioon o.
Action< IPhysicsObject, Vector > ShockwaveReachesObject
Tapahtuu, kun paineaalto osuu peliolioon.
double Speed
Räjähdyksen leviämisnopeus (pikseliä sekunnissa)
bool UseShockWave
Onko paineaalto käytössä.
double Volume
Kuinka voimakas räjähdyksestä tuleva ääni on, väliltä 0-1.0. Oletusarvona 0.2.
override void Update(Time time)
Ajetaan kun pelitilannetta päivitetään. Päivityksen voi toteuttaa omassa luokassa toteuttamalla tämän...
double CurrentRadius
Räjähdyksen nykyinen säde.
static SoundEffect commonSound
void AddShockwaveHandler(string tag, Action< IPhysicsObject, Vector > handler)
Laukaisee aliohjelman handler, kun tämän räjähdyksen paineaalto osuu olioon o.
void OnShockwaveReachesObject(IPhysicsObject obj, Vector swForce)
static Image LoadImageFromResources(string name)
Lataa kuvan Jypelin sisäisistä resursseista.
static SoundEffect LoadSoundEffectFromResources(string name)
Lataa ääniefektin Jypelin sisäisistä resursseista.
SynchronousList< Layer > Layers
Kerrokset, joilla pelioliot viihtyvät.
static Game Instance
Käynnissä olevan pelin pääolio.
static void AssertInitialized(Action actionMethod)
Suorittaa aliohjelman kun peli on varmasti alustettu.
static ScreenView Screen
Näytön dimensiot, eli koko ja reunat.
Pelialueella liikkuva olio. Käytä fysiikkapeleissä PhysicsObject-olioita.
override Vector?? Position
GameObject(double width, double height)
Alustaa uuden peliolion.
override void Destroy()
Tuhoaa olion. Tuhottu olio poistuu pelistä.
override Vector Size
Olion koko pelimaailmassa. Kertoo olion äärirajat, ei muotoa.
void Add(IGameObject childObject)
Lisää annetun peliolion tämän olion lapseksi. Lapsiolio liikkuu tämän olion mukana.
virtual Color Color
Väri, jonka värisenä olio piirretään, jos tekstuuria ei ole määritelty.
bool IsUpdated
Tarvitseeko olio päivittämistä. Kun perit oman luokkasi tästä luokasta, aseta tämä arvoon true,...
Kappale joka noudattaa fysiikan lakeja, johon voi törmätä. Vaatii että käytössä on fysiikkapeli.
bool IgnoresExplosions
Jättääkö räjähdysten paineaallon huomioimatta
virtual void Hit(Vector impulse)
Kohdistaa kappaleeseen impulssin. Tällä kappaleen saa nopeasti liikkeeseen.
Satunnaisgeneraattori. Luo satunnaisia arvoja, mm. lukuja, vektoreita sekä kulmia.
static double NextDouble(double min, double max)
Palauttaa satunnaisen liukuluvun parametrien
double Width
Näytön leveys x-suunnassa.
static readonly Ellipse Circle
Ympyrä tai ellipsi.
Ääniefekti. Yhdestä efektistä voi luoda CreateSound-metodilla monta ääntä (Sound),...
Yleinen äänen toistamiseen käytettävä luokka. Tällä ei ole kovin suuria eroja SoundEffect-luokan kans...
void Play(int retries=3)
Toistaa äänen
Synkroninen lista, eli lista joka päivittyy vasta kun sen Update-metodia kutsutaan....
Yhteinen rajapinta kaikille fysiikkaolioille.
object Tag
Olion tagi, voi olla mitä tahansa
Sisältää tiedon ajasta, joka on kulunut pelin alusta ja viime päivityksestä.
TimeSpan SinceLastUpdate
Aika joka on kulunut viime päivityksestä.
double X
Vektorin X-komponentti.
Angle Angle
Kulma radiaaneina.
double Magnitude
Vektorin pituus.
static Vector FromLengthAndAngle(double length, double angle)
Luo vektorin pituuden ja kulman perusteella.