31using System.Collections.Generic;
224 public void Zoom(
double zoom )
249 if ( gameobjects.Length == 0 )
return;
250 if ( gameobjects.Length == 1 )
317 ZoomTo( bottomLeft.
X, bottomLeft.
Y, topRight.
X, topRight.
Y );
371 public void ZoomTo(
double left,
double bottom,
double right,
double top )
373 ZoomTo( left, bottom, right, top, 0 );
376 internal void ZoomTo(
double left,
double bottom,
double right,
double top,
double borderSize )
380 double width = right - left;
381 double height = top - bottom;
385 if ( ( width / height ) >= ( screenWidth / screenHeight ) )
386 this.
ZoomFactor = screenWidth / ( width + borderSize );
388 this.
ZoomFactor = screenHeight / ( height + borderSize );
440 double screenAspectRatio = screenWidth / screenHeight;
441 double levelAspectRatio = level.
Width / level.
Height;
446 double viewAreaWidth = screenWidth /
ZoomFactor;
447 double viewAreaHeight = screenHeight /
ZoomFactor;
449 if ( zoomedWidth < screenWidth || zoomedHeight < screenHeight )
456 _pos.
X = level.
Left + ( viewAreaWidth / 2 );
467 else if (
Position.
Y + ( viewAreaHeight / 2 ) > level.
Top )
469 _pos.
Y = level.
Top - ( viewAreaHeight / 2 );
Kamera. Määrittää mikä osa pelitasosta on kerralla näkyvissä.
Camera()
Luo uuden kameran.
bool FollowsY
Seurataanko oliota (FollowedObject) y- eli pystysuunnassa.
double X
Kameran paikan X-koordinaatti.
Vector Position
Kameran sijainti.
double Y
Kameran paikan Y-koordinaatti.
void ZoomTo(BoundingRectangle rectangle)
Sijoittelee kameran annettuun suorakulmioon
void doZoomToAllObjects(double borderSize)
void FollowX(params GameObject[] gameobjects)
Seuraa jotakin peliobjektia X- eli vaakasuunnassa.
void ZoomTo(double left, double bottom, double right, double top, double borderSize)
double ZoomFactor
Kameran zoomauskerroin. Oletuksena 1.0. Mitä suurempi zoomauskerroin, sitä lähempänä kamera on (esim ...
Vector FollowOffset
Jos kamera seuraa oliota, tällä voi säätää missä kohtaa ruutua pelaaja näkyy. Toisin sanoen ruutukoor...
void ZoomToLevel()
Zoomaa ja keskittää kameran siten, että koko kenttä on näkyvissä kerralla.
void ZoomTo(BoundingRectangle rectangle, double borderSize)
Sijoittelee kameran annettuun suorakulmioon annetulla marginaalilla
Vector WorldToScreen(Vector point)
Muuntaa annetun pisteen maailmankoordinaateista ruutukoordinaatteihin.
void Update(Time time)
Ajetaan kun pelitilannetta päivitetään.
Vector ScreenToWorld(Vector point, Layer layer)
Muuntaa annetun pisteen ruutukoordinaateista maailmankoordinaatteihin ottaen huomioon oliokerroksen s...
Vector Velocity
Kameran liikkumisnopeus.
void ZoomToAllObjects()
Keskittää ja zoomaa kameran niin, että kaikki objektit näkyvät ruudulla.
void Reset()
Resetoi kameran (keskittää, laittaa zoomin oletusarvoon ja lopettaa seuraamisen).
double FollowYMargin
Jos kamera seuraa useita olioita, tällä voi säätää kuinka paljon ylä- ja alareunaan jätetään tyhjää t...
void Follow(params GameObject[] gameobjects)
Seuraa yhtä tai useampaa peliobjektia.
void Move(Vector v)
Liikuttaa kameraa.
Vector ScreenToWorld(Vector point)
Muuntaa annetun pisteen ruutukoordinaateista maailmankoordinaatteihin.
void StopFollowing()
Lopettaa olio(iden) seuraamisen.
void ZoomToAllObjects(double borderSize)
Zoomaa ja sijoittaa kameran siten, että kaikki pelioliot ovat yhtäaikaa näkyvissä.
Vector WorldToScreen(Vector point, Layer layer)
Muuntaa annetun pisteen maailmankoordinaateista ruutukoordinaatteihin ottaen huomioon oliokerroksen s...
List< GameObject > followedObjects
GameObject FollowedObject
Olio, jota kamera seuraa. Jos null, mitään oliota ei seurata.
double FollowXMargin
Jos kamera seuraa useita olioita, tällä voi säätää kuinka paljon vasempaan ja oikeaan reunaan jätetää...
void ZoomTo(Vector bottomLeft, Vector topRight)
Zoomaa ja sijoittaa kameran niin, että parametreina annettua alue näkyy kokonaan ruudulla.
void ZoomTo(double left, double bottom, double right, double top)
Zoomaa ja sijoittaa kameran niin, että parametreina annettua alue näkyy kokonaan ruudulla.
void ZoomToLevel(double borderSize)
Zoomaa ja keskittää kameran siten, että koko kenttä on näkyvissä kerralla. Tällöin kamera ei seuraa m...
bool StayInLevel
Jos tosi, kamera ei mene koskaan kentän ulkopuolelle.
bool FollowsX
Seurataanko oliota (FollowedObject) x- eli vaakasuunnassa.
void Zoom(double zoom)
Zoomaa.
void FollowY(params GameObject[] gameobjects)
Seuraa jotakin peliobjektia Y- eli pystysuunnassa.
Level Level
Aktiivinen kenttä.
static void DoNextUpdate(Action action)
Suorittaa aliohjelman seuraavalla päivityksellä.
int ObjectCount
Kuinka monta pelioliota pelissä on
static Game Instance
Käynnissä olevan pelin pääolio.
static ScreenView Screen
Näytön dimensiot, eli koko ja reunat.
Pelialueella liikkuva olio. Käytä fysiikkapeleissä PhysicsObject-olioita.
override Vector?? Position
override void Destroy()
Tuhoaa olion. Tuhottu olio poistuu pelistä.
double X
Olion paikan X-koordinaatti.
double Y
Olion paikan Y-koordinaatti.
Kerros. Vastaa olioiden piirtämisestä.
bool IgnoresZoom
Jättää kameran zoomin huomiotta jos asetettu.
Vector RelativeTransition
Kuinka paljon tämän kerroksen olioiden paikka muuttuu kameran siirtyessä suhteessa muihin kerroksiin....
Pelikenttä, johon voi lisätä olioita. Kentällä voi myös olla reunat ja taustaväri tai taustakuva.
double Top
Kentän yläreunan y-koordinaatti.
double Left
Kentän vasemman reunan x-koordinaatti.
double Right
Kentän oikean reunan x-koordinaatti.
double Width
Kentän leveys.
double Bottom
Kentän alareunan y-koordinaatti.
double Height
Kentän korkeus.
BoundingRectangle FindObjectLimits()
Laskee pienimmän alueen, jonka sisälle kaikki kentän oliot mahtuvat.
double Width
Näytön leveys x-suunnassa.
double Height
Näytön korkeus y-suunnassa.
Olio jolla on paikka jota voi muuttaa.
double Top
Suorakaiteen yläreunan Y
double Right
Suorakaiteen oikean reunan X
double Left
Suorakaiteen vasemman reunan X
double Bottom
Suorakaiteen alareunen Y
Sisältää tiedon ajasta, joka on kulunut pelin alusta ja viime päivityksestä.
TimeSpan SinceLastUpdate
Aika joka on kulunut viime päivityksestä.
double Y
Vektorin Y-komponentti
static readonly Vector Zero
Nollavektori.
double X
Vektorin X-komponentti.
static Vector ComponentProduct(Vector a, Vector b)
Kertoo kaksi vektoria komponenteittain.