Tobias Fritz Eine Einführung in die 2D Spieleprogrammierung mit Java und Slick. Unterlagen: http://javagaming.tobsefritz.de.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Modellgetriebene Softwareentwicklung
Zusammenfassung des Kapitels 8
Game Engine Architecture - J. Gregory
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
FH-Hof Tools Richard Göbel. FH-Hof Tools für die Veranstaltung JUnit: Testen ANT: Build-Tool Eclipse: Entwicklungsumgebung.
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
IF-ELSE-IF-Ketten Weiter mit PP..
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
OGRE Object-Oriented Graphics Rendering Engine Szenen-orientierte, flexible 3D Engine in C++ Hardware-beschleunigte 3D Grafiken Unterstützt Direct3D und.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Objektorientierte Programmierung JDK-Klassenbibliothek
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Das Java-Hamstermodell
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
DVG1 - Applets1 Applets. DVG1 - Applets2 Die Klasse Applet n Applets sind Grafikobjekte, die unter Steuerung eines anderen Programms (z.B. eines Browsers,
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Klassen und Objekte
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
03 - Paint Das Zeichenprogramm EMMA Paint2 Aufgabenstellung Entwicklung eines ausschließlich in JAVA programmierten Graphikprogrammes. Vergleichsprodukte:
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Einführung in die Programmierung Datensammlung
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Bestimmung des ggT zweier Zahlen
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Erste Schritte mit Eclipse Neues Projekt erstellen (1)
AWT und JFC Abstract Windowing Toolkit
Java ohne Kara. Java ohne Kara Ab jetzt: Java ohne Kara Ziel: Erfahrungen sammeln mit ersten Java Programmen.
Applets Java für’s Web.
Vortrag D. Braun, Praktikum. Übersicht Pleopatra API Pleopatra Tools Twitter Demonstration Ausblick.
Teil II Objekte ergeben ein Ganzes
Java und Eclipse.
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Mahmoud Zoabi Khaled Isa
CuP - Java Eingabe über Tastatur, AudioClips, überschreiben, Quiz Montag, 18. November 2002.
Starten der Entwicklungsumgebung (IDE)
Learning By Doing Ausnahmebehandlung Exceptions (Ausnahmebehandlung) Typische Fehlverhalten zur Laufzeit: s. Buch S. 287ff -Verwendung von null-Objekten.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Programmiervorkurs WS 2014/15 Methoden
Multimedia in Java Thomas Witschel, Kerstin Steinert & Erik Reinhard.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Java-Applets und URLs APP Philip Graf, Andreas Bößl.
Threads in Java Threads  Sprachumfang von Java Der Java-Standard fordert nur die Unterstützung von Thread-Prioritäten. Es gibt keine Forderung bzgl.:
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Frameworks
 Einführung  Szenengraphen  Bestandteile  Eingabe  JOGL  LWJGL  Beispiele  ARDOR3D Games 04/23/12Ardor 3D – Holzwarth/Kau 2.
Benjamin Schacht. Example Viewer Grafische Darstellung von Algorithmen Navigation der Algorithmen Verwaltung der Algorithmen Anzeige von Source-Codes.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Gaming unter Linux Voraussetzungen Varianten Beispiele Lösungen
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
Hello World! Javakurs 2013 Arne Kappen
JAVA lernen: Methoden.
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Mit der Turtle Java Programmieren
Mit Java die Turtle steuern
Ein Referat von Sabrina Vissel, darleen paul und yannick fuchs
Reklursive Grafiken Teil I
 Präsentation transkript:

Tobias Fritz Eine Einführung in die 2D Spieleprogrammierung mit Java und Slick. Unterlagen: http://javagaming.tobsefritz.de

Gliederung Ist Java spieletauglich? Spiel Frameworks 21.09.2018 Ist Java spieletauglich? Spiel Frameworks Die Slick Bibliothek Technik Spielaufbau Projekt Einbinden HelloWorld Wie geht’s weiter?

Ist Java spieletauglich? 21.09.2018 2D und 3D Grafik Kommerzielle Spiele Multiplayer Spiele (MMOs) Verbreitung als Applet, Java WebStart oder Desktop Applikation Nutzung von Gamepads …und vieles mehr Air Carrier, Chrome (FPS), Edna Bricht aus (Point2Click), Diamond Crush (Arcade), Mad Skills Motocross (Racing), Nord (MMO) - Benchmark mit 1000 Bildern 700fps

Spiel Frameworks API Bibliotheken Natives 21.09.2018 API Application Programming Interface Schnittstelle zur Anwendungsprogrammierung Bibliotheken Jars JavaDoc SourceCode Natives Systemspezifisches DLLs, .so, .jnilib. … Frameworks allgemein Ermöglichen was Java nicht kann

Slick Framework 21.09.2018 Slick2D ist eine Sammlung von Tools und Erweiterungen der LWJGL (Lightweight Java Game Library). Slick wird in der Community mit folgenden Zielen entwickelt: Eine schlanke 2D API bereit zu stellen. Tools für viele einfache Spiele „Out of the Box“ mit zu liefern. Den Übergang von Java2D zu OpenGL zu erleichtern. Eine leichte Veröffentlichung via Webstart zu ermöglichen. Erweiterbar und flexibel zu sein. Mix and Match – nutze nur was du willst. Hilfe beim Rendern, Sounds, dem Import, der Kollisionserkennung und vielem mehr. Die Entwicklung vorzugeben Eine 3D API zu integrieren Kein umfassende „Game Engine“

Slick Framework - Technik 21.09.2018

Slick Framework -Spielaufbau 21.09.2018 init() Spielressourcen Laden Daten initialisieren render() Grafiken zeichnen update() Spielschleife Spiellogik Bewegungen

Slick Framework -Spielaufbau 21.09.2018 GameContainer AppGameContainer AppletGameContainer Game init(), render(), update() BasicGame StateBasedGame

Slick Einbinden File > Import… 21.09.2018 File > Import… General > Existing Projects into Workspace Next > Select archive file: „Einstigesprojekt.zip“ Finish Eclipse Helios

Slick Einbinden File > Import… 21.09.2018 File > Import… General > Existing Projects into Workspace Next > Select archive file: „Einstigesprojekt.zip“ Finish

Slick Einbinden File > Import… 21.09.2018 File > Import… General > Existing Projects into Workspace Next > Select archive file: „Einstigesprojekt.zip“ Finish

Slick Einbinden Slick + LWJGL Libraries JavaDoc Slick Examples 21.09.2018 Slick + LWJGL Libraries JavaDoc Slick Examples Tools: Pedigree -Particle Editor Hiero -Bitmap Fonts Packer -Sprite Sheets Scalar -Scale 2/3x

HelloWorld 21.09.2018 Spiel mit Auflösung zu Starten import org.newdawn.slick.*; public class HelloWorld extends BasicGame { private Image image; public HelloWorld() { super("Hello World"); } public static void main(String[] args) throws SlickException { AppGameContainer container = new AppGameContainer(new HelloWorld()); container.setDisplayMode(1024, 768, false); container.start(); @Override public void init(GameContainer container) throws SlickException { image = new Image("res/logo.png"); public void render(GameContainer container, Graphics g) throws SlickException { g.drawString("Hello World", 100, 100); g.drawImage(image, 300, 300); public void update(GameContainer container, int delta) throws SlickException { image.rotate(0.02f); if(container.getInput().isKeyPressed(Input.KEY_ESCAPE)){ container.exit(); Spiel mit Auflösung zu Starten Bild zu laden, zu zeichnen und animieren Auf Tastatureingaben reagieren

Wie geht’s weiter? Slick Hunderte Java Spiele Java Gaming Community 21.09.2018 Slick Beispiele Im Package: org.newdawn.slick.tests http://slick.cokeandcode.com (Wiki, Forum) Hunderte Java Spiele http://www.javagametome.com Java Gaming Community http://www.javagaming.org Linksammlung zu Spielressourcen http://javagaming.tobsefritz.de/

Vielen Dank für euer Interesse 21.09.2018 Vielen Dank für euer Interesse Unterlagen: http://javagaming.tobsefritz.de