Gameprogrammeren: Game Basics Arjan Egges Paul Bergervoet Wouter van Toll
De gamewereld Bestaat uit twee onderdelen: Informatie Gedrag Aantal levens, spelerpositie, de score, … Staat in het geheugen Gedrag Botsingen tussen game-objecten afhandelen, strategie van een vijand, andere game physics, … Oftewel: instructies die uitgevoerd worden door een processor Wordt afgehandeld door de game loop
De game loop Belangrijkste onderdelen: UPDATE: pas de toestand van de gamewereld aan DRAW: teken de gamewereld op het scherm Beide acties worden steeds opnieuw aangeroepen In de vorm van methoden! UPDATE DRAW
using Microsoft.Xna.Framework; class LeegSpel : Game { using: welke bibliotheken gebruiken we using Microsoft.Xna.Framework; class LeegSpel : Game { static void Main() LeegSpel game = new LeegSpel(); game.Run(); } public LeegSpel() { } protected override void Update(GameTime gameTime) protected override void Draw(GameTime gameTime) Methode om de game te initializeren (constructor-methode). De Update-actie De Draw-actie
Initialiseer graphics device Achtergrondkleur class MyGame : Game { GraphicsDeviceManager graphics; static void Main() MyGame game = new MyGame(); game.Run(); } public MyGame() graphics = new GraphicsDeviceManager(this); … Constructor Initialiseer graphics device
Verander de achtergrondkleur … protected override void Update(GameTime gameTime) { } protected override void Draw(GameTime gameTime) GraphicsDevice.Clear(Color.Olive); Verander de achtergrondkleur
De gamewereld Een gamewereld bestaat uit: Informatie Gedrag Informatie wordt opgeslagen in het geheugen Hiervoor gebruiken we variabelen
Variabele om de kleur in te bewaren Achtergrondkleur v2 class MyGame : Game { GraphicsDeviceManager graphics; Color background; static void Main() MyGame game = new MyGame(); game.Run(); } public MyGame() graphics = new GraphicsDeviceManager(this); … Variabele om de kleur in te bewaren
Achtergrondkleur v2 Bepaal rood-waarde aan de hand van de tijd … protected override void Update(GameTime gameTime) { int red = gameTime.TotalGameTime.Milliseconds; background = new Color(red, 0, 0); } protected override void Draw(GameTime gameTime) GraphicsDevice.Clear(background); Maak een nieuwe achtergrondkleur Verander de achtergrondkleur