34using System.ComponentModel;
36using Microsoft.Xna.Framework;
37using Microsoft.Xna.Framework.Graphics;
49 public partial class Game : Microsoft.Xna.Framework.Game, GameObjectContainer
118 [EditorBrowsable(EditorBrowsableState.Never)]
119 [Obsolete(
"Käytä Device-oliota" )]
135 public static string Name {
get;
private set; }
156 internal VirtualKeyboard VirtualKeyboard {
get;
private set; }
178 public void Run(
bool headless =
false,
bool save =
false,
int frames = 0,
int skip = 1)
180 if (frames < 0)
throw new ArgumentException(
"n must be greater than 0!");
188 if (
SaveOutput && !Directory.Exists(
"Output"))
190 Directory.CreateDirectory(
"Output");
197 string[] args = Environment.GetCommandLineArgs();
198 if (args.Contains(
"--save"))
200 if (
bool.TryParse(args[Array.IndexOf(args,
"--save") + 1], out
bool save))
203 throw new ArgumentException(
"Invalid value for --save");
205 if (args.Contains(
"--framesToRun"))
207 if (
int.TryParse(args[Array.IndexOf(args,
"--framesToRun") + 1], out
int frames))
210 throw new ArgumentException(
"Invalid value for --framesToRun");
212 if (args.Contains(
"--headless"))
214 if (
bool.TryParse(args[Array.IndexOf(args,
"--headless") + 1], out
bool headless))
217 throw new ArgumentException(
"Invalid value for --headless");
219 if (args.Contains(
"--skipFrames"))
221 if (
int.TryParse(args[Array.IndexOf(args,
"--skipFrames") + 1], out
int skip))
224 throw new ArgumentException(
"Invalid value for --skipFrames");
226 if (args.Contains(
"--saveToStdout"))
228 if (
bool.TryParse(args[Array.IndexOf(args,
"--saveToStdout") + 1], out
bool saveToStdout))
231 throw new ArgumentException(
"Invalid value for --saveToStdout");
247 FileStream screenFile =
new FileStream( bmpOutName, FileMode.Create );
258 Name = this.GetType().Assembly.FullName.Split(
',' )[0];
286 MessageDisplay.
Add(
"Press Ctrl+Alt+I to try downloading and installing them now." );
293 private void TryInstallOpenAL()
299 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(
"https://github.com/Mono-Game/MonoGame.Dependencies/raw/master/oalinst.exe" );
300 request.BeginGetResponse( OpenALDownloaded, request );
303 private void OpenALDownloaded(IAsyncResult result)
305 HttpWebResponse response = ( result.AsyncState as HttpWebRequest ).EndGetResponse( result ) as HttpWebResponse;
307 if ( response ==
null )
314 Stream resStream = response.GetResponseStream();
316 string fileName = Path.Combine( Path.GetTempPath(),
"oalinst.exe" );
317 FileStream fs =
new FileStream( fileName, FileMode.Create, FileAccess.Write );
318 resStream.CopyTo( fs );
321 var startInfo =
new System.Diagnostics.ProcessStartInfo( fileName );
322 startInfo.Verb =
"runas";
323 var process =
System.Diagnostics.Process.Start( startInfo );
324 process.WaitForExit();
336 [EditorBrowsable( EditorBrowsableState.Never )]
349 VirtualKeyboard =
new VirtualKeyboard(
this);
350 Components.Add(VirtualKeyboard);
351 VirtualKeyboard.Initialize();
352 VirtualKeyboard.Hide();
384 [EditorBrowsable( EditorBrowsableState.Never )]
385 protected override void Draw( GameTime gameTime )
395 spriteBatch.Begin( SpriteSortMode.Deferred, BlendState.AlphaBlend );
422 base.Draw( gameTime );
Microsoft.Xna.Framework.Rectangle XnaRectangle
Microsoft.Xna.Framework.Color XnaColor
Kamera. Määrittää mikä osa pelitasosta on kerralla näkyvissä.
Vector Position
Kameran sijainti.
double ZoomFactor
Kameran zoomauskerroin. Oletuksena 1.0. Mitä suurempi zoomauskerroin, sitä lähempänä kamera on (esim ...
void Reset()
Resetoi kameran (keskittää, laittaa zoomin oletusarvoon ja lopettaa seuraamisen).
void End()
Lopettaa piirtämisen. Sinun ei tarvitse kutsua tätä.
void Begin(ref Matrix worldMatrix, Dimensional dimensionSource)
Aloittaa canvaksen piirtämisen. Sinun ei tarvitse kutsua tätä.
FileManager Storage
Tiedostojen säilytyspaikka.
virtual void ResetScreen()
int FramesToSkip
Kuinka monenen framen yli hypätään peliä nauhoittaessa.
bool loadContentHasBeenCalled
override void OnExiting(object sender, EventArgs args)
Suoritetaan kun peli on sulkeutumassa
MessageDisplay MessageDisplay
Viestinäyttö, johon voi laittaa viestejä.
static bool AudioEnabled
Voiko ääniä soittaa.
Level Level
Aktiivinen kenttä.
static new GraphicsDevice GraphicsDevice
XNA:n grafiikkakortti.
ListenContext ControlContext
Pelin pääohjainkonteksti.
void ClearControls()
Poistaa kaikki ohjainkuuntelijat.
Device Phone
Phone-olio esim. puhelimen tärisyttämiseen.
override void Draw(GameTime gameTime)
XNA:n piirtorutiinit.
static GraphicsDeviceManager GraphicsDeviceManager
XNA:n grafiikkakorttien hallintaolio.
bool FarseerGame
Onko käytössä Farseer-fysiikkamoottori HUOM: Tämä saattaa poistua tulevaisuudessa jos/kun siitä tehdä...
void addMessageDisplay(bool force=false)
void ClearLights()
Poistaa kaikki valoefektit.
void Run(bool headless=false, bool save=false, int frames=0, int skip=1)
Ajaa pelin. Kutsutaan Ohjelma.cs:stä.
void OnNoAudioHardwareException()
Stream CurrentFrameStream
virtual void Begin()
Tässä alustetaan peli.
bool SaveOutput
Tallennetaanko pelin kuvaa. Vie oletusresoluutiolla noin 3MB/frame
override void Initialize()
This gets called after the GraphicsDevice has been created. So, this is the place to initialize the r...
static void DisableAudio()
virtual void ClearAll()
Tuhoaa kaikki pelioliot, ajastimet ja näppäinkuuntelijat, sekä resetoi kameran.
int FrameCounter
Kuinka monta pelinpäivitystä on tähän mennessä ajettu.
void CenterWindow()
Asettaa ikkunan ruudun keskelle.
int TotalFramesToRun
Kuinka monen pelinpäivityksen jälkeen peli suljetaan automaattisesti. Jos 0, peli pyörii ikuisesti
static string Name
Pelin nimi.
void InitGraphics()
Alustaa grafiikat. Suorita vasta kun ikkuna on lopullisessa koossaan.
override void LoadContent()
XNA:n sisällön alustus (Initializen jälkeen)
virtual void Paint(Canvas canvas)
Canvakselle piirto.
bool IsPaused
Onko peli pysähdyksissä.
void CallBegin()
Aloittaa pelin kutsumalla Begin-metodia. Tärkeää: kutsu tätä, älä Beginiä suoraan,...
void ClearTimers()
Poistaa kaikki ajastimet.
static FileManager DataStorage
Tietovarasto, johon voi tallentaa tiedostoja pidempiaikaisesti. Sopii esimerkiksi pelitilanteen lataa...
SynchronousList< Layer > Layers
Kerrokset, joilla pelioliot viihtyvät.
void RunOneFrame(string bmpOutName)
Ajaa yhden päivityksen ja tallentaa ruudun tiedostoon.
static Game Instance
Käynnissä olevan pelin pääolio.
void SetDefaultResolution()
bool SaveOutputToConsole
Kirjoitetaanko kuvatiedosto standarditulosteeseen jos SaveOutput on päällä.
static ScreenView Screen
Näytön dimensiot, eli koko ja reunat.
static Device Device
Laite jolla peliä pelataan.
int SavedFrameCounter
Kuinka monta pelinpäivitystä on tähän mennessä tallennettu.
void ResetLayers()
Nollaa oliokerrokset. Huom. tuhoaa kaikki pelioliot!
void UpdateFps(GameTime gameTime)
Jypelin aika pitää sisällään tiedon edellisestä pelin päivityksestä, MonoGamen aika edellisestä ruudu...
static Action InstanceInitialized
Tapahtuu kun Game.Instance on alustettu.
readonly Lazy< Stream > standardOutStream
bool Headless
Ajetaanko peli ilman ääntä (esim. TIMissä)
Contains graphics resources.
static DepthFormat SelectStencilMode()
static SpriteBatch SpriteBatch
Listener Listen(Key k, ButtonState state, Action handler, string helpText)
Kuuntelee näppäinten painalluksia.
bool IsAltDown()
Tarkistaa, onko kumpikaan alt-näppäimistä painettuna.
bool IsCtrlDown()
Tarkistaa, onko kumpikaan ctrl-näppäimistä painettuna.
Pelikenttä, johon voi lisätä olioita. Kentällä voi myös olla reunat ja taustaväri tai taustakuva.
Background Background
Kentän taustakuva.
Color BackgroundColor
Kentän taustaväri.
Viestikenttä, jolla voi laittaa tekstiä ruudulle. Tätä sinun tuskin tarvitsee itse muodostaa.
void Add(string message)
Lisää uuden viestin näkymään.
double Width
Näytön leveys x-suunnassa.
double Height
Näytön korkeus y-suunnassa.
RenderTarget2D RenderTarget
Tekstuuri johon näkymä piirretään.
Image Image
Ruudulla näkyvä kuva.
static void WriteBmp(Stream outStream, Jypeli.Image image)
ButtonState
Napin (minkä tahansa) asento.
Key
Näppäimistön näppäin.
@ Exit
Poistumassa olion päältä.
Microsoft.Xna.Framework.Matrix Matrix
double Y
Vektorin Y-komponentti
double X
Vektorin X-komponentti.