Gameprogrammeren: Game Basics

Slides:



Advertisements
Verwante presentaties
Introductie GameEngine. Inhoud  De Game Package  Speelveld aanmaken  GameObjecten met plaatjes neerzetten  De Game-loop  Besturing door de speler.
Advertisements

Het ontwerpen van een klasse
Het type int Tekenen met Java operatoren
Hoofdstuk 2 Hallo, C# !.
Hoofdstuk 8 Objecten en klassen.
Static Keyword static voor functieleden functie niet voor een object aangeroepen class K {... static int minimum( int i, int j); } aanroep: K::minimum(
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Hoorcollege 5 Herhaling, game object interactie. Ball class class Ball { Texture2D colorRed, colorGreen, colorBlue; Texture2D currentColor; Vector2 position,
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Hoorcollege 14 Vijanden, excepties. Overzicht programmaconstructies Opdrachten Toekenning Aanroep void-methode return-opdracht while-opdracht for(each)-opdracht.
Hoorcollege 4 Objecten en methoden. Eigen methode toevoegen class Painter : Game { public void HandleInput() { … } protected override void Update(GameTime.
Hoorcollege 3 Game assets, Invoer verwerken. Tutorlunch GroepTutorStutorZaal UPaul BergervoetBob BestBBG 001 VMarries van de HoefSander VerkuilBBG 731.
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Scope. Scope van variaben/methoden Een variabele is te gebruiken binnen de { en } waarbinnen hij is aangemaakt. Hetzelfde geld voor een methode { int.
Polymorphisme en Interfaces: inleiding
Hoofdstuk 3 Methoden om te tekenen.
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Herhaling: He who does not learn from history, is doomed to repeat it.
Eigen klassen maken A new way of thinking.. Wat? Zie voorbeeld. Zie voorbeeld.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Partial Classes, Enemies, Exceptions
Game Object Structuren
Objectgeoriënteerd Programmeren (2)
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Game Assets
Gameprogrammeren: Lists en interfaces
Gameprogrammeren: Keuzeopdrachten
Gameprogrammeren: Overerving
Gameprogrammeren: Char en String
Arjan Egges & Paul Bergervoet
Gameprogrammeren: Variabelen, declaraties en toekenningen
Gameprogrammeren: Expressies
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Animatie
Gameprogrammeren: Methoden
Arjan Egges & Paul Bergervoet
Gameprogrammeren: Overerving in Painter
Gameprogrammeren: Player input in Painter
Gameprogrammeren: Programmastructuur
Basis Gameprogrammeren
Gameprogrammeren: Tiles in Tick Tick
Gameprogrammeren: Afsluiting
Gameprogrammeren: Willekeurigheid (Randomness)
Gameprogrammeren: Herhalingen
Gameprogrammeren: Platform-games
Gameprogrammeren: Properties
Arjan Egges & Paul Bergervoet
Game Assets, Invoer Verwerken
Arjan Egges & Paul Bergervoet
Libraries, Platform Games
Gameprogrammeren: Recursie
Gameprogrammeren: Abstracte klassen
Willekeurigheid en Herhaling
Gameprogrammeren: Interfaces
Arjan Egges Paul Bergervoet Wouter van Toll
Gameprogrammeren: Tiles en File I/O in Tick Tick
Game: omgaan met tijd (Jewel-Jam)
Gameprogrammeren: Klassen en objecten
Arjan Egges & Paul Bergervoet
Object Communication (Jewel Jam)
Gameprogrammeren: Enemies in Tick Tick
Gameprogrammeren: Sprite sheets
Gameprogrammeren: Arrays
Transcript van de presentatie:

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