Jypeli  5
The simple game programming library
PhysicsObject luokkareferenssi

Peliolio, joka noudattaa fysiikkamoottorin määräämiä fysiikan lakeja. Voidaan kuitenkin myös laittaa noudattamaan lakeja valikoidusti. Lisää...

Luokan PhysicsObject luokkakaavio
GameObject IPhysicsObjectInternal GameObjectBase IGameObjectInternal GameObjectContainer GameObjectBase IGameObjectInternal IGameObjectInternal IPhysicsObject DelayedDestroyable IGameObject IGameObject IGameObject Destroyable Tagged IGameObject Destroyable Tagged Automobile Projectile Tank Surface PlatformCharacter PlatformCharacter2 Bullet CannonBall Grenade ClusterGrenade

Julkiset jäsenfunktiot

bool IgnoresCollisionWith (IPhysicsObject target)
 
void MakeOneWay ()
 Tekee oliosta läpimentävän alhaalta ylöspäin (tasohyppelytaso). Huom. ei toimi yhdessä CollisionIgnoreGroupien kanssa! Lisää...
 
void MakeOneWay (Vector direction)
 Tekee oliosta läpimentävän vektorin suuntaan. Huom. ei toimi yhdessä CollisionIgnoreGroupien kanssa! Lisää...
 
void MakeStatic ()
 Tekee oliosta staattisen. Staattinen olio ei liiku muiden olioiden törmäyksistä, vaan ainoastaan muuttamalla suoraan sen paikkaa tai nopeutta. Lisää...
 
virtual void Push (Vector force)
 Työntää oliota. Lisää...
 
virtual void Push (Vector force, TimeSpan time)
 Työntää oliota tietyn ajan tietyllä voimalla. Lisää...
 
virtual void Hit (Vector impulse)
 Kohdistaa kappaleeseen impulssin. Tällä kappaleen saa nopeasti liikkeeseen. Lisää...
 
virtual void ApplyTorque (double torque)
 Kohdistaa kappaleeseen vääntövoiman. Voiman suunta riippuu merkistä. Lisää...
 
override void Stop ()
 Pysäyttää olion. Lisää...
 
void StopHorizontal ()
 Pysäyttää olion liikkeen vaakasuunnassa. Lisää...
 
void StopVertical ()
 Pysäyttää olion liikkeen pystysuunnassa. Lisää...
 
void StopAxial (Vector axis)
 Pysäyttää liikkeen akselin suunnassa. Lisää...
 
void StopAngular ()
 Pysäyttää kaiken pyörimisliikkeen. Lisää...
 
override void Move (Vector movement)
 Siirtää oliota. Lisää...
 
void Throw (PhysicsObject obj, Angle angle, double force, double distOffset=0, int layer=0, double axialOffset=0)
 Heittää kappaleen hahmon rintamasuuntaa kohti. Lisää...
 
 PhysicsObject (double width, double height)
 Luo uuden fysiikkaolion. Lisää...
 
 PhysicsObject (double width, double height, Shape shape)
 Luo uuden fysiikkaolion. Lisää...
 
 PhysicsObject (Image image)
 Luo uuden fysiikkaolion. Kappaleen koko ja ulkonäkö ladataan parametrina annetusta kuvasta. Lisää...
 
 PhysicsObject (double width, double height, Shape shape, CollisionShapeParameters shapeParameters)
 
 PhysicsObject (RaySegment raySegment)
 Luo fysiikkaolion, jonka muotona on säde. Lisää...
 
override void Destroy ()
 Tuhoaa olion. Tuhottu olio poistuu pelistä. Lisää...
 
override void Update (Time time)
 Peliolion päivitys. Tätä kutsutaan, kun IsUpdated-ominaisuuden arvoksi on asetettu true ja olio on lisätty peliin. IsUpdated Lisää...
 
- Julkiset jäsenfunktiot inherited from GameObject
void OnArrivedAt (Vector location)
 Kutsutaan, kun on saavuttu haluttuun paikkaan (MoveTo-metodi) Lisää...
 
 GameObject (double width, double height)
 Alustaa uuden peliolion. Lisää...
 
 GameObject (Image image)
 Alustaa uuden peliolion. Kappaleen koko ja ulkonäkö ladataan parametrina annetusta kuvasta. Lisää...
 
 GameObject (double width, double height, Shape shape)
 Alustaa uuden peliolion. Lisää...
 
object Clone ()
 Tekee oliosta kopion. Lisää...
 
bool IsInside (Vector point)
 Onko piste p tämän olion sisäpuolella. Lisää...
 
void Add (IGameObject childObject)
 Lisää annetun peliolion tämän olion lapseksi. Lapsiolio liikkuu tämän olion mukana, ja sen paikka ja koko ilmaistaan suhteessa tähän olioon. Lisää...
 
void Remove (IGameObject childObject)
 Poistaa lapsiolion. Jos haluat tuhota olion, kutsu mielummin olion Destroy-metodia. Lisää...
 
void SetImage (StorageFile file)
 Lataa kuvan tiedostosta ja asettaa sen oliolle. Lisää...
 
virtual void MoveTo (Vector location, double speed)
 Yrittää siirtyä annettuun paikkaan annetulla nopeudella. Laukaisee tapahtuman ArrivedAt, kun paikkaan on päästy. Lisää...
 
void SetImage (StorageFile file)
 Lataa kuvan tiedostosta ja asettaa sen oliolle. Lisää...
 
void MirrorImage ()
 Kääntää olion kuvan vaakasuunnassa. Lisää...
 
void FlipImage ()
 Kääntää olion kuvan pystysuunnassa. Lisää...
 
void Add (IGameObject childObject)
 Lisää annetun peliolion tämän olion lapseksi. Lapsiolio liikkuu tämän olion mukana, ja sen paikka ja koko ilmaistaan suhteessa tähän olioon. Lisää...
 
void Remove (IGameObject childObject)
 Poistaa lapsiolion. Jos haluat tuhota olion, kutsu mielummin olion Destroy-metodia. Lisää...
 
virtual void Clear ()
 Poistaa kaikki lapsioliot. Lisää...
 
bool IsInside (Vector point)
 Onko piste p tämän olion sisäpuolella. Lisää...
 
bool IsInsideRect (Vector point)
 Onko piste p tämän olion ympäröivän suorakulmion sisäpuolella. Lisää...
 
 GameObject (double width, double height)
 Alustaa uuden peliolion. Lisää...
 
 GameObject (double width, double height, Shape shape)
 Alustaa uuden peliolion. Lisää...
 
 GameObject (Animation animation)
 Alustaa uuden peliolion. Kappaleen koko ja ulkonäkö ladataan parametrina annetusta kuvasta. Lisää...
 
 GameObject (ILayout layout)
 Alustaa widgetin. Lisää...
 
bool SeesObject (GameObject obj)
 Näkeekö olio toisen. Lisää...
 
bool SeesObject (GameObject obj, Predicate< GameObject > isObstacle)
 Näkeekö olio toisen. Lisää...
 
bool SeesObject (GameObject obj, object obstacleTag)
 Näkeekö olio toisen. Lisää...
 
bool SeesTarget (Vector targetPosition)
 Näkeekö olio paikkaan. Lisää...
 
bool SeesTarget (Vector targetPosition, Predicate< GameObject > isObstacle)
 Näkeekö olio paikkaan. Lisää...
 
bool SeesTarget (Vector targetPosition, object obstacleTag)
 Näkeekö olio paikkaan. Lisää...
 
bool IsBlocking (Vector pos1, Vector pos2)
 Onko olio kahden paikan välissä. Lisää...
 
void FadeColorTo (Color targetColor, double seconds)
 Muuttaa olion väriä toiseen hitaasti liukumalla. Lisää...
 
void InitLayout (double width, double height)
 
void InitLayout (double width, double height, ILayout layout)
 
void RefreshLayout ()
 Päivittää lapsiolioiden paikat ja koot, jos widgetille on asetettu asettelija. Tätä metodia EI yleensä tarvitse kutsua itse, sillä asettelija päivitetään automaattisesti jokaisella framella. Tämä metodi on tarpeellinen esim. silloin, kun widgetille on lisätty lapsiolioita (tai muutettu niiden ominaisuuksia) ja niiden paikat tarvitsee päivittää välittömästi lisäyksen jälkeen. Silloinkin tätä tarvitsee kutsua vain kerran, viimeisimmän muutoksen jälkeen. Lisää...
 
override void MoveTo (Vector location, double speed, Action doWhenArrived)
 Yrittää siirtyä annettuun paikkaan annetulla nopeudella. Laukaisee annetun aliohjelman, kun paikkaan on päästy. Lisää...
 
void StopMoveTo ()
 Pysäyttää MoveTo-aliohjelmalla aloitetun liikkeen. Lisää...
 
void Oscillate< WaveForm > (Vector axis, double amplitude, double frequency, double phase=0, double damping=0)
 Laittaa kappaleen liikkumaan edestakaisin nykyisen paikkansa ympärillä tietyn akselin suuntaisesti. Aaltomuotoa voi vaihtaa tyyppiparametrin avulla, esim. Oscillate<Triangle> Lisää...
 
void Oscillate (Vector axis, double amplitude, double frequency, double phase=0, double damping=0)
 Laittaa kappaleen liikkumaan edestakaisin nykyisen paikkansa ympärillä tietyn akselin suuntaisesti. Lisää...
 
void OscillateAngle< WaveForm > (double direction, UnlimitedAngle amplitude, double frequency, double damping=0)
 Laittaa kappaleen pyörimään edestakaisin tietyn aaltomuodon mukaisesti. Aaltomuotoa voi vaihtaa tyyppiparametrin avulla, esim. OscillateAngle<Triangle> Lisää...
 
void OscillateAngle (double direction, UnlimitedAngle amplitude, double frequency, double damping=0)
 Laittaa kappaleen pyörimään edestakaisin. Lisää...
 
void SetEquilibrium ()
 Asettaa uuden tasapainoaseman värähtelyille. Lisää...
 
void ClearOscillations ()
 Poistaa kaikki värähtelyt kappaleelta. Lisää...
 
- Julkiset jäsenfunktiot inherited from GameObjectBase
void OnAddedToGame ()
 Kutsutaan kun olio lisätään peliin. Lisää...
 
void OnRemoved ()
 Kutsutaan kun olio poistetaan pelistä. Lisää...
 
void MoveTo (Vector location, double speed)
 Yrittää siirtyä annettuun paikkaan annetulla nopeudella. Lisää...
 
- Julkiset jäsenfunktiot inherited from IGameObjectInternal
void OnAddedToGame ()
 
void OnRemoved ()
 

Staattiset julkiset jäsenfunktiot

static PhysicsObject CreateStaticObject (double width, double height)
 Tekee suorakulmaisen kappaleen, joka on staattinen (eli pysyy paikallaan). Lisää...
 
static PhysicsObject CreateStaticObject (Image image)
 Tekee suorakulmaisen kappaleen, joka on staattinen (eli pysyy paikallaan). Kappaleen koko ja ulkonäkö ladataan parametrina annetusta kuvasta. Lisää...
 
static PhysicsObject CreateStaticObject (double width, double height, Shape shape)
 Tekee vapaamuotoisen kappaleen, joka on staattinen (eli pysyy paikallaan). Lisää...
 
static PhysicsObject CreateStaticObject (double width, double height, Shape shape, CollisionShapeParameters parameters)
 

Suojatut jäsenfunktiot

override void MoveToTarget ()
 
virtual void PrepareThrowable (PhysicsObject obj, Angle angle, double force, double distanceDelta, double axialDelta)
 
void OnDestroying ()
 
virtual void ReallyDestroy ()
 
- Suojatut jäsenfunktiot inherited from GameObject
virtual void InitChildren ()
 
void NotifyParentAboutChangedSizingAttributes ()
 Should be called whenever properties that might affect layouts are changed. Lisää...
 
virtual Vector GetMaximumSize ()
 Antaa widgetin maksimikoon siinä tapauksessa, että kokoa ei ole annettu rakentajassa (tai tarkemmin sanoen muuttujan SizingByLayout arvo on true). Olio ei siis automaattisesti kasva tätä isommaksi. Lisää...
 
- Suojatut jäsenfunktiot inherited from GameObjectBase
void OnDestroyed ()
 
 GameObjectBase ()
 

Ominaisuudet

double StaticFriction [get, set]
 Lepokitka. Liikkeen alkamista vastustava voima, joka ilmenee kun olio yrittää lähteä liikkeelle toisen olion pinnalta (esim. laatikkoa yritetään työntää eteenpäin). Lisää...
 
double KineticFriction [get, set]
 Liikekitka. Liikettä vastustava voima joka ilmenee kun kaksi oliota liikkuu toisiaan vasten (esim. laatikko liukuu maata pitkin). Arvot välillä 0.0 (ei kitkaa) ja 1.0 (täysi kitka). Lisää...
 
double Restitution [get, set]
 Olion kimmoisuus. Arvo välillä 0.0-1.0. Arvolla 1.0 olio säilyttää kaiken vauhtinsa törmäyksessä. Mitä pienempi arvo, sitä enemmän olion vauhti hidastuu törmäyksessä. Lisää...
 
virtual Ignorer CollisionIgnorer [get, set]
 Olio, jolla voi välttää oliota osumasta tiettyihin muihin olioihin. Lisää...
 
virtual int CollisionIgnoreGroup [get, set]
 Törmäysryhmä. Oliot jotka ovat samassa törmäysryhmässä menevät toistensa läpi. Jos ryhmä on nolla tai negatiivinen, sillä ei ole vaikutusta. Lisää...
 
bool IgnoresCollisionResponse [get, set]
 Jättääkö olio törmäyksen huomioimatta. Jos tosi, törmäyksestä tulee tapahtuma, mutta itse törmäystä ei tapahdu. Lisää...
 
Body Body [get]
 Fysiikkamoottorin käyttämä tietorakenne. Lisää...
 
override Vector Position [get, set]
 Olion paikka koordinaatistossa. Käsittää sekä X- että Y-koordinaatin. Lisää...
 
override Vector Size [get, set]
 Olion koko (x on leveys, y on korkeus). Lisää...
 
override Angle Angle [get, set]
 Kulma, jossa olio on. Oliota voi pyörittää kulmaa vaihtamalla. Lisää...
 
override Shape Shape [get, set]
 Olion muoto. Lisää...
 
bool CanRotate [get, set]
 Jos false, olio ei voi pyöriä. Lisää...
 
double Mass [get, set]
 Olion massa. Mitä suurempi massa, sitä suurempi voima tarvitaan olion liikuttamiseksi. Lisää...
 
double MomentOfInertia [get, set]
 Olion hitausmomentti. Mitä suurempi hitausmomentti, sitä enemmän vääntöä tarvitaan olion pyörittämiseksi. Lisää...
 
double LinearDamping [get, set]
 Olion hidastuminen. Hidastaa olion vauhtia, vaikka se ei osuisi mihinkään. Vähän kuin väliaineen (esim. ilman tai veden) vastus. Oletusarvo on 1.0, jolloin hidastumista ei ole. Mitä pienempi arvo, sitä enemmän kappale hidastuu. Lisää...
 
double AngularDamping [get, set]
 Olion pyörimisen hidastuminen. Lisää...
 
Vector Velocity [get, set]
 Olion nopeus. Lisää...
 
double AngularVelocity [get, set]
 Olion kulmanopeus. Lisää...
 
double MaxVelocity [get, set]
 Suurin nopeus, jonka olio voi saavuttaa. Lisää...
 
double MaxAngularVelocity [get, set]
 Suurin kulmanopeus, jonka olio voi saavuttaa. Lisää...
 
Vector Acceleration [get, set]
 Olion kiihtyvyys. Lisää...
 
double AngularAcceleration [get, set]
 Olion kulmakiihtyvyys. Lisää...
 
PhysicsStructure ParentStructure [get, set]
 Rakenneolio, johon tämä olio kuuluu. Lisää...
 
bool IgnoresExplosions [get, set]
 Jättääkö olio räjähdyksen paineaallon huomiotta. Lisää...
 
bool IgnoresGravity [get, set]
 Jättääkö olio painovoiman huomioimatta. Lisää...
 
bool IgnoresPhysicsLogics [get, set]
 Jättääkö olio kaikki fysiikkalogiikat (ks. AddPhysicsLogic) huomiotta. Vaikuttaa esim. painovoimaan, mutta ei törmäyksiin. Lisää...
 
bool IsDestroying [get]
 Onko olio tuhoutumassa. Lisää...
 
- Ominaisuudet inherited from GameObject
List< ListenerAssociatedListeners [get]
 
IEnumerable< IGameObjectObjects [get]
 Olion lapsioliot. Ei voi muokata. Lisää...
 
bool IsVisible [get, set]
 Piirretäänkö oliota ruudulle. Lisää...
 
override Vector Size [get, set]
 Olion koko pelimaailmassa. Kertoo olion äärirajat, ei muotoa. Lisää...
 
override Angle Angle [get, set]
 Olion kulma tai rintamasuunta. Nolla = osoittaa oikealle. Lisää...
 
override Animation Animation [get, set]
 Animaatio. Voi olla null, jolloin piirretään vain väri. Lisää...
 
Vector TextureWrapSize [get, set]
 Määrittää kuinka moneen kertaan kuva piirretään. Esimerkiksi (3.0, 2.0) piirtää kuvan 3 kertaa vaakasuunnassa ja 2 kertaa pystysuunnassa. Lisää...
 
Color Color [get, set]
 Väri, jonka värisenä olio piirretään, jos tekstuuria ei ole määritelty. Lisää...
 
bool TextureFillsShape [get, set]
 Jos true, kuva piirretään niin, ettei se mene olion muodon ääriviivojen yli. Toisin sanoen kuva piirretään tarkasti vain muodon määrittämälle alueelle. Lisää...
 
virtual Shape Shape [get, set]
 Olion muoto. Lisää...
 
Game Game [get]
 Peli, johon olio on lisätty. null, jos oliota ei ole lisätty peliin. Lisää...
 
bool IsAddedToGame [get, set]
 Onko olio lisätty peliin. Lisää...
 
virtual Color Color [get, set]
 Väri, jonka värisenä olio piirretään, jos tekstuuria ei ole määritelty. Lisää...
 
bool IgnoresLighting [get, set]
 Jättääkö olio kentän valaistuksen huomiotta. Asetettu oletuksena käyttöliittymäkomponenteilla (widget). Lisää...
 
SynchronousList< GameObjectObjects [get]
 Olion lapsioliot. Saa muuttaa. Lisää...
 
int ObjectCount [get]
 Olion lapsiolioiden lukumäärä. Kuten Objects.Count, mutta optimoitu. Lisää...
 
virtual Sizing HorizontalSizing [get, set]
 Koon asettaminen vaakasuunnassa, kun olio on asettelijan sisällä. Lisää...
 
virtual Sizing VerticalSizing [get, set]
 Koon asettaminen pystysuunnassa, kun olio on asettelijan sisällä. Lisää...
 
virtual Vector PreferredSize [get, set]
 Koko, jota oliolla tulisi olla asettelijan sisällä. Todellinen koko voi olla pienempi, jos tilaa ei ole tarpeeksi. Lisää...
 
bool SizingByLayout [get, set]
 
ILayout Layout [get, set]
 Asettelija lapsiolioille. Asettaa lapsiolioiden koon sekä paikan. Lisää...
 
- Ominaisuudet inherited from GameObjectBase
Game Game [get]
 Peli. Lisää...
 
Layer Layer [get, set]
 Kerros, jolle peliolio on lisätty. Lisää...
 
bool RotateImage [get, set]
 Pyöritetäänkö kuvaa olion kulman mukana. Lisää...
 
IGameObject Parent [get, set]
 Olio, jonka lapsiolio tämä olio on. Jos null, olio ei ole minkään olion lapsiolio. Lisää...
 
bool IsUpdated [get, set]
 Tarvitseeko olio päivittämistä. Kun perit oman luokkasi tästä luokasta, aseta tämä arvoon true, kun luokan olio tarvitsee päivittämistä. Lisää...
 
object Tag [get, set]
 Vapaasti asetettava muuttuja. Lisää...
 
virtual Brain Brain [get, set]
 Olion aivot. Ks. Brain Lisää...
 
bool IsDestroyed [get]
 Onko olio tuhottu. Lisää...
 
abstract Vector Size [get, set]
 Olion koko pelimaailmassa. Kertoo olion äärirajat, ei muotoa. Lisää...
 
virtual Vector Position [get, set]
 Olion paikka. Jos olio on jonkun toisen peliolion lapsi, paikka on suhteessa tämän vanhempaan (Parent). Muuten paikka on paikka pelimaailmassa. Lisää...
 
abstract Angle Angle [get, set]
 Olion kulma tai rintamasuunta. Nolla = osoittaa oikealle. Lisää...
 
TimeSpan CreationTime [get, protected set]
 Olion luomisaika. Lisää...
 
TimeSpan Lifetime [get]
 Olion elinaika. Lasketaan siitä lähtien, kun olio luodaan. Lisää...
 
TimeSpan MaximumLifetime [get, set]
 Olion suurin mahdollinen elinaika. Kun Lifetime on suurempi kuin tämä, olio kuolee. Lisää...
 
TimeSpan LifetimeLeft [get, set]
 Olion jäljellä oleva elinaika. Lisää...
 
double Width [get, set]
 Olion leveys (X-suunnassa, leveimmässä kohdassa). Lisää...
 
double Height [get, set]
 Olion korkeus (Y-suunnassa, korkeimmassa kohdassa). Lisää...
 
Vector AbsolutePosition [get, set]
 Olion absoluuttinen paikka pelimaailmassa. Jos olio ei ole minkään toisen peliolion lapsiolio, tämä on sama kuin Position. Lisää...
 
Angle AbsoluteAngle [get, set]
 Olion absoluuttinen kulma pelimaailmassa. Jos olio ei ole minkään toisen peliolion lapsiolio, tämä on sama kuin Angle. Lisää...
 
double Left [get, set]
 Olion vasemman reunan x-koordinaatti. Lisää...
 
double Right [get, set]
 Olion oikean reunan x-koordinaatti. Lisää...
 
double Top [get, set]
 Olion yläreunan y-koordinaatti. Lisää...
 
double Bottom [get, set]
 Olion alareunan y-koordinaatti. Lisää...
 
double AbsLeft [get]
 Olion vasemman reunan absoluuttinen x-koordinaatti. Lisää...
 
double AbsRight [get]
 Olion oikean reunan absoluuttinen x-koordinaatti. Lisää...
 
double AbsTop [get]
 Olion yläreunan absoluuttinen y-koordinaatti. Lisää...
 
double AbsBottom [get]
 Olion alareunan absoluuttinen y-koordinaatti. Lisää...
 
double X [get, set]
 Olion paikan X-koordinaatti. Lisää...
 
double Y [get, set]
 Olion paikan Y-koordinaatti. Lisää...
 
Vector UnitX [get]
 Suhteellinen x-suuntavektori lapsiolioille. Varoitus: suhteessa vanhempi-olioon! Jos haluat käyttää suoraan kentässä, käytä AbsoluteUnitX. Lisää...
 
Vector UnitY [get]
 Suhteellinen y-suuntavektori lapsiolioille. Varoitus: suhteessa vanhempi-olioon! Jos haluat käyttää suoraan kentässä, käytä AbsoluteUnitY. Lisää...
 
Vector AbsoluteUnitX [get]
 Suhteellinen x-suuntavektori lapsiolioille. Suhteessa suoraan kentän koordinaatteihin. Lisää...
 
Vector AbsoluteUnitY [get]
 Suhteellinen y-suuntavektori lapsiolioille. Suhteessa suoraan kentän koordinaatteihin. Lisää...
 
abstract Animation Animation [get, set]
 Animaatio. Voi olla null, jolloin piirretään vain väri. Lisää...
 
Image Image [get, set]
 Olion kuva. Voi olla null, jolloin piirretään vain väri. Lisää...
 
- Ominaisuudet inherited from Tagged
object Tag [get, set]
 
- Ominaisuudet inherited from Destroyable
bool IsDestroyed [get]
 
- Ominaisuudet inherited from IGameObjectInternal
Layer Layer [set]
 
List< ListenerAssociatedListeners [get]
 
bool IsAddedToGame [set]
 
- Ominaisuudet inherited from IGameObject
Layer Layer [get]
 
IGameObject Parent [get, set]
 
Brain Brain [get, set]
 
bool IsVisible [get, set]
 
bool IsAddedToGame [get]
 
bool IgnoresLighting [get, set]
 
TimeSpan CreationTime [get]
 
TimeSpan Lifetime [get]
 
TimeSpan MaximumLifetime [get, set]
 
Vector Size [get, set]
 
double Width [get, set]
 
double Height [get, set]
 
Vector Position [get, set]
 
Angle Angle [get, set]
 
double X [get, set]
 
double Y [get, set]
 
double Left [get, set]
 
double Top [get, set]
 
double Right [get, set]
 
double Bottom [get, set]
 
Vector UnitX [get]
 
Vector UnitY [get]
 
Vector AbsoluteUnitX [get]
 
Vector AbsoluteUnitY [get]
 
Vector AbsolutePosition [get, set]
 
Angle AbsoluteAngle [get, set]
 
Animation Animation [get, set]
 
Image Image [get, set]
 
Color Color [get, set]
 
Shape Shape [get, set]
 
Vector TextureWrapSize [get, set]
 
bool TextureFillsShape [get, set]
 
bool RotateImage [get, set]
 
- Ominaisuudet inherited from Updatable
bool IsUpdated [get]
 
- Ominaisuudet inherited from IPhysicsObject
PhysicsStructure ParentStructure [get]
 
Body Body [get]
 
Ignorer CollisionIgnorer [get, set]
 
int CollisionIgnoreGroup [get, set]
 
double Mass [get, set]
 
double MomentOfInertia [get, set]
 
bool CanRotate [get, set]
 
double Restitution [get, set]
 
double StaticFriction [get, set]
 
double KineticFriction [get, set]
 
Vector Velocity [get, set]
 
Vector Acceleration [get, set]
 
double AngularVelocity [get, set]
 
double AngularAcceleration [get, set]
 
double LinearDamping [get, set]
 
double AngularDamping [get, set]
 
bool IgnoresExplosions [get, set]
 
bool IgnoresCollisionResponse [get, set]
 
bool IgnoresGravity [get, set]
 
bool IgnoresPhysicsLogics [get, set]
 
- Ominaisuudet inherited from DelayedDestroyable
bool IsDestroying [get]
 

Tapahtumat

CollisionHandler< IPhysicsObject, IPhysicsObjectCollided
 Tapahtuu kun olio törmää toiseen. Lisää...
 
Action Destroying
 Tapahtuu, kun olion tuhoaminen alkaa. Lisää...
 
- Tapahtumat inherited from GameObject
Action< GameObject, VectorArrivedAt
 Tapahtuu, kun on saavuttu haluttuun paikkaan (MoveTo-metodi) Lisää...
 
- Tapahtumat inherited from GameObjectBase
Action AddedToGame
 Tapahtuu, kun olio lisätään peliin. Lisää...
 
Action Removed
 Tapahtuu, kun olio poistetaan pelistä (tuhotaan tai ei). Lisää...
 
Action Destroyed
 Tapahtuu, kun olio tuhotaan. Lisää...
 
- Tapahtumat inherited from Destroyable
Action Destroyed
 
- Tapahtumat inherited from IGameObject
Action AddedToGame
 
Action Removed
 
- Tapahtumat inherited from IPhysicsObject
CollisionHandler< IPhysicsObject, IPhysicsObjectCollided
 Tapahtuu, kun törmätään toiseen fysiikkaolioon. Lisää...
 
- Tapahtumat inherited from DelayedDestroyable
Action Destroying
 

Additional Inherited Members

- Julkiset attribuutit inherited from GameObjectBase
IntPoint PosInLevel
 
List< Object > Data
 
- Suojellut attribuutit inherited from GameObject
Timer moveTimer = null
 
Vector moveTarget = null
 
double moveSpeed
 
bool autoResizeChildObjects = true
 
Action arrivedAction = null
 

Yksityiskohtainen selite

Peliolio, joka noudattaa fysiikkamoottorin määräämiä fysiikan lakeja. Voidaan kuitenkin myös laittaa noudattamaan lakeja valikoidusti.

Määrittely tiedoston Coefficients.cs rivillä 36.

Rakentajien & purkajien dokumentaatio

◆ PhysicsObject() [1/5]

PhysicsObject ( double  width,
double  height 
)

Luo uuden fysiikkaolion.

Parametrit
widthLeveys.
heightKorkeus.

Määrittely tiedoston PhysicsObject.cs rivillä 84.

◆ PhysicsObject() [2/5]

PhysicsObject ( double  width,
double  height,
Shape  shape 
)

Luo uuden fysiikkaolion.

Parametrit
widthLeveys.
heightKorkeus.
shapeMuoto.

Määrittely tiedoston PhysicsObject.cs rivillä 95.

◆ PhysicsObject() [3/5]

PhysicsObject ( Image  image)

Luo uuden fysiikkaolion. Kappaleen koko ja ulkonäkö ladataan parametrina annetusta kuvasta.

Parametrit
imageKuva

Määrittely tiedoston PhysicsObject.cs rivillä 105.

◆ PhysicsObject() [4/5]

PhysicsObject ( double  width,
double  height,
Shape  shape,
CollisionShapeParameters  shapeParameters 
)

Määrittely tiedoston PhysicsObject.cs rivillä 111.

◆ PhysicsObject() [5/5]

PhysicsObject ( RaySegment  raySegment)

Luo fysiikkaolion, jonka muotona on säde.

Parametrit
raySegmentSäde.

Määrittely tiedoston PhysicsObject.cs rivillä 132.

Jäsenfunktioiden dokumentaatio

◆ ApplyTorque()

virtual void ApplyTorque ( double  torque)
virtual

Kohdistaa kappaleeseen vääntövoiman. Voiman suunta riippuu merkistä.

Parametrit
torqueVääntövoima.

Toteuttaa luokan IPhysicsObject.

Määrittely tiedoston Movement.cs rivillä 156.

◆ CreateStaticObject() [1/4]

static PhysicsObject CreateStaticObject ( double  width,
double  height 
)
static

Tekee suorakulmaisen kappaleen, joka on staattinen (eli pysyy paikallaan).

Parametrit
widthKappaleen leveys
heightKappaleen korkeus
Palauttaa
Fysiikkaolio

Määrittely tiedoston Inertia.cs rivillä 110.

◆ CreateStaticObject() [2/4]

static PhysicsObject CreateStaticObject ( Image  image)
static

Tekee suorakulmaisen kappaleen, joka on staattinen (eli pysyy paikallaan). Kappaleen koko ja ulkonäkö ladataan parametrina annetusta kuvasta.

Parametrit
widthKappaleen leveys
heightKappaleen korkeus
Palauttaa
Fysiikkaolio

Määrittely tiedoston Inertia.cs rivillä 124.

◆ CreateStaticObject() [3/4]

static PhysicsObject CreateStaticObject ( double  width,
double  height,
Shape  shape 
)
static

Tekee vapaamuotoisen kappaleen, joka on staattinen (eli pysyy paikallaan).

Parametrit
widthKappaleen leveys
heightKappaleen korkeus
shapeKappaleen muoto
Palauttaa
Fysiikkaolio

Määrittely tiedoston Inertia.cs rivillä 138.

◆ CreateStaticObject() [4/4]

static PhysicsObject CreateStaticObject ( double  width,
double  height,
Shape  shape,
CollisionShapeParameters  parameters 
)
static

Määrittely tiedoston Inertia.cs rivillä 153.

◆ Destroy()

override void Destroy ( )
virtual

Tuhoaa olion. Tuhottu olio poistuu pelistä.

Uudelleentoteuttaa luokan GameObject.

Määrittely tiedoston PhysicsObject.cs rivillä 170.

◆ Hit()

virtual void Hit ( Vector  impulse)
virtual

Kohdistaa kappaleeseen impulssin. Tällä kappaleen saa nopeasti liikkeeseen.

Toteuttaa luokan IPhysicsObject.

Määrittely tiedoston Movement.cs rivillä 147.

◆ IgnoresCollisionWith()

bool IgnoresCollisionWith ( IPhysicsObject  target)

Määrittely tiedoston Collisions.cs rivillä 118.

◆ MakeOneWay() [1/2]

void MakeOneWay ( )

Tekee oliosta läpimentävän alhaalta ylöspäin (tasohyppelytaso). Huom. ei toimi yhdessä CollisionIgnoreGroupien kanssa!

Määrittely tiedoston Collisions.cs rivillä 128.

◆ MakeOneWay() [2/2]

void MakeOneWay ( Vector  direction)

Tekee oliosta läpimentävän vektorin suuntaan. Huom. ei toimi yhdessä CollisionIgnoreGroupien kanssa!

Määrittely tiedoston Collisions.cs rivillä 137.

◆ MakeStatic()

void MakeStatic ( )

Tekee oliosta staattisen. Staattinen olio ei liiku muiden olioiden törmäyksistä, vaan ainoastaan muuttamalla suoraan sen paikkaa tai nopeutta.

Määrittely tiedoston Inertia.cs rivillä 179.

◆ Move()

override void Move ( Vector  movement)
virtual

Siirtää oliota.

Parametrit
movementVektori, joka määrittää kuinka paljon siirretään.

Uudelleentoteuttaa luokan GameObject.

Määrittely tiedoston Movement.cs rivillä 223.

◆ MoveToTarget()

override void MoveToTarget ( )
protectedvirtual

Uudelleentoteuttaa luokan GameObject.

Määrittely tiedoston Movement.cs rivillä 229.

◆ OnDestroying()

void OnDestroying ( )
protected

Määrittely tiedoston PhysicsObject.cs rivillä 164.

◆ PrepareThrowable()

virtual void PrepareThrowable ( PhysicsObject  obj,
Angle  angle,
double  force,
double  distanceDelta,
double  axialDelta 
)
protectedvirtual

Uudelleentoteutetaan luokissa PlatformCharacter ja PlatformCharacter2.

Määrittely tiedoston Movement.cs rivillä 258.

◆ Push() [1/2]

virtual void Push ( Vector  force)
virtual

Työntää oliota.

Parametrit
forceVoima, jolla oliota työnnetään.

Toteuttaa luokan IPhysicsObject.

Määrittely tiedoston Movement.cs rivillä 127.

◆ Push() [2/2]

virtual void Push ( Vector  force,
TimeSpan  time 
)
virtual

Työntää oliota tietyn ajan tietyllä voimalla.

Parametrit
forceVoima, jolla oliota työnnetään sekunnissa.
timeAika, kuinka kauan voimaa pidetään yllä.

Toteuttaa luokan IPhysicsObject.

Määrittely tiedoston Movement.cs rivillä 137.

◆ ReallyDestroy()

virtual void ReallyDestroy ( )
protectedvirtual

Määrittely tiedoston PhysicsObject.cs rivillä 177.

◆ Stop()

override void Stop ( )
virtual

Pysäyttää olion.

Uudelleentoteuttaa luokan GameObject.

Määrittely tiedoston Movement.cs rivillä 164.

◆ StopAngular()

void StopAngular ( )

Pysäyttää kaiken pyörimisliikkeen.

Määrittely tiedoston Movement.cs rivillä 212.

◆ StopAxial()

void StopAxial ( Vector  axis)

Pysäyttää liikkeen akselin suunnassa.

Parametrit
axisAkseli vektorina (ei väliä pituudella)

Määrittely tiedoston Movement.cs rivillä 193.

◆ StopHorizontal()

void StopHorizontal ( )

Pysäyttää olion liikkeen vaakasuunnassa.

Toteuttaa luokan IPhysicsObject.

Määrittely tiedoston Movement.cs rivillä 176.

◆ StopVertical()

void StopVertical ( )

Pysäyttää olion liikkeen pystysuunnassa.

Toteuttaa luokan IPhysicsObject.

Määrittely tiedoston Movement.cs rivillä 184.

◆ Throw()

void Throw ( PhysicsObject  obj,
Angle  angle,
double  force,
double  distOffset = 0,
int  layer = 0,
double  axialOffset = 0 
)

Heittää kappaleen hahmon rintamasuuntaa kohti.

Parametrit
objHeitettävä kappale
angleSuhteellinen kulma (0 astetta suoraan, 90 ylös)
forceHeiton voimakkuus
distOffsetOffset ammuksen etäisyydelle
layerPelimaailman kerros
axialOffsetOffset ammuksen akselin suuntaiselle paikalle

Määrittely tiedoston Movement.cs rivillä 275.

◆ Update()

override void Update ( Time  time)
virtual

Peliolion päivitys. Tätä kutsutaan, kun IsUpdated-ominaisuuden arvoksi on asetettu true ja olio on lisätty peliin. IsUpdated

Parametrit
timePeliaika.

Uudelleentoteuttaa luokan GameObject.

Määrittely tiedoston PhysicsObject.cs rivillä 185.

Ominaisuuksien dokumentaatio

◆ Acceleration

Vector Acceleration
getset

Olion kiihtyvyys.

Määrittely tiedoston Movement.cs rivillä 90.

◆ Angle

override Angle Angle
getset

Kulma, jossa olio on. Oliota voi pyörittää kulmaa vaihtamalla.

Määrittely tiedoston Dimensions.cs rivillä 80.

◆ AngularAcceleration

double AngularAcceleration
getset

Olion kulmakiihtyvyys.

Määrittely tiedoston Movement.cs rivillä 104.

◆ AngularDamping

double AngularDamping
getset

Olion pyörimisen hidastuminen.

LinearDamping

Määrittely tiedoston Inertia.cs rivillä 207.

◆ AngularVelocity

double AngularVelocity
getset

Olion kulmanopeus.

Määrittely tiedoston Movement.cs rivillä 60.

◆ Body

Body Body
get

Fysiikkamoottorin käyttämä tietorakenne.

Määrittely tiedoston Dimensions.cs rivillä 42.

◆ CanRotate

bool CanRotate
getset

Jos false, olio ei voi pyöriä.

Määrittely tiedoston Inertia.cs rivillä 45.

◆ CollisionIgnoreGroup

virtual int CollisionIgnoreGroup
getset

Törmäysryhmä. Oliot jotka ovat samassa törmäysryhmässä menevät toistensa läpi. Jos ryhmä on nolla tai negatiivinen, sillä ei ole vaikutusta.

Määrittely tiedoston Collisions.cs rivillä 57.

◆ CollisionIgnorer

virtual Ignorer CollisionIgnorer
getset

Olio, jolla voi välttää oliota osumasta tiettyihin muihin olioihin.

Määrittely tiedoston Collisions.cs rivillä 46.

◆ IgnoresCollisionResponse

bool IgnoresCollisionResponse
getset

Jättääkö olio törmäyksen huomioimatta. Jos tosi, törmäyksestä tulee tapahtuma, mutta itse törmäystä ei tapahdu.

Määrittely tiedoston Collisions.cs rivillä 72.

◆ IgnoresExplosions

bool IgnoresExplosions
getset

Jättääkö olio räjähdyksen paineaallon huomiotta.

Määrittely tiedoston PhysicsObject.cs rivillä 56.

◆ IgnoresGravity

bool IgnoresGravity
getset

Jättääkö olio painovoiman huomioimatta.

Määrittely tiedoston PhysicsObject.cs rivillä 62.

◆ IgnoresPhysicsLogics

bool IgnoresPhysicsLogics
getset

Jättääkö olio kaikki fysiikkalogiikat (ks. AddPhysicsLogic) huomiotta. Vaikuttaa esim. painovoimaan, mutta ei törmäyksiin.

Määrittely tiedoston PhysicsObject.cs rivillä 72.

◆ IsDestroying

bool IsDestroying
get

Onko olio tuhoutumassa.

Määrittely tiedoston PhysicsObject.cs rivillä 157.

◆ KineticFriction

double KineticFriction
getset

Liikekitka. Liikettä vastustava voima joka ilmenee kun kaksi oliota liikkuu toisiaan vasten (esim. laatikko liukuu maata pitkin). Arvot välillä 0.0 (ei kitkaa) ja 1.0 (täysi kitka).

Määrittely tiedoston Coefficients.cs rivillä 55.

◆ LinearDamping

double LinearDamping
getset

Olion hidastuminen. Hidastaa olion vauhtia, vaikka se ei osuisi mihinkään. Vähän kuin väliaineen (esim. ilman tai veden) vastus. Oletusarvo on 1.0, jolloin hidastumista ei ole. Mitä pienempi arvo, sitä enemmän kappale hidastuu.

Yleensä kannattaa käyttää arvoja, jotka ovat lähellä ykköstä, esim. 0.95.

Määrittely tiedoston Inertia.cs rivillä 196.

◆ Mass

double Mass
getset

Olion massa. Mitä suurempi massa, sitä suurempi voima tarvitaan olion liikuttamiseksi.

Massan asettaminen muuttaa myös hitausmomenttia (MomentOfInertia).

Määrittely tiedoston Inertia.cs rivillä 69.

◆ MaxAngularVelocity

double MaxAngularVelocity
getset

Suurin kulmanopeus, jonka olio voi saavuttaa.

Määrittely tiedoston Movement.cs rivillä 80.

◆ MaxVelocity

double MaxVelocity
getset

Suurin nopeus, jonka olio voi saavuttaa.

Määrittely tiedoston Movement.cs rivillä 70.

◆ MomentOfInertia

double MomentOfInertia
getset

Olion hitausmomentti. Mitä suurempi hitausmomentti, sitä enemmän vääntöä tarvitaan olion pyörittämiseksi.

Määrittely tiedoston Inertia.cs rivillä 95.

◆ ParentStructure

PhysicsStructure ParentStructure
getset

Rakenneolio, johon tämä olio kuuluu.

Määrittely tiedoston PhysicsObject.cs rivillä 51.

◆ Position

override Vector Position
getset

Olion paikka koordinaatistossa. Käsittää sekä X- että Y-koordinaatin.

Määrittely tiedoston Dimensions.cs rivillä 49.

◆ Restitution

double Restitution
getset

Olion kimmoisuus. Arvo välillä 0.0-1.0. Arvolla 1.0 olio säilyttää kaiken vauhtinsa törmäyksessä. Mitä pienempi arvo, sitä enemmän olion vauhti hidastuu törmäyksessä.

Määrittely tiedoston Coefficients.cs rivillä 66.

◆ Shape

override Shape Shape
getset

Olion muoto.

Määrittely tiedoston Dimensions.cs rivillä 89.

◆ Size

override Vector Size
getset

Olion koko (x on leveys, y on korkeus).

Määrittely tiedoston Dimensions.cs rivillä 63.

◆ StaticFriction

double StaticFriction
getset

Lepokitka. Liikkeen alkamista vastustava voima, joka ilmenee kun olio yrittää lähteä liikkeelle toisen olion pinnalta (esim. laatikkoa yritetään työntää eteenpäin).

Määrittely tiedoston Coefficients.cs rivillä 45.

◆ Velocity

Vector Velocity
getset

Olion nopeus.

Määrittely tiedoston Movement.cs rivillä 46.

Tapahtumien dokumentaatio

◆ Collided

CollisionHandler<IPhysicsObject, IPhysicsObject> Collided

Tapahtuu kun olio törmää toiseen.

Määrittely tiedoston Collisions.cs rivillä 80.

◆ Destroying

Action Destroying

Tapahtuu, kun olion tuhoaminen alkaa.

Määrittely tiedoston PhysicsObject.cs rivillä 162.


Dokumentaatio tälle luokalle luotiin seuraavista tiedostoista: