Bilder. 2D Spiele programmieren in Java. Alpha channel. Formate. Optimierung. Empfehlung



Ähnliche Dokumente
Stepperfocuser 2.0 mit Bootloader

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

MARCANT - File Delivery System

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Arbeiten mit UMLed und Delphi

Animationen erstellen

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

Teaser-Bilder erstellen mit GIMP. Bildbearbeitung mit GIMP 1

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

Vorwort... 1 Voraussetzungen... 1 Teilnahme am Testmeeting... 2 Browser Add-on für WebEx installieren... 3 Einrichtung des Audiokanals...

teamsync Kurzanleitung

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Microsoft Word Installation für ARNOtop Was ist zu beachten

Nutzung von GiS BasePac 8 im Netzwerk

Microsoft Word Installation für ARNOtop Was ist zu beachten

Import und Export von Übergängern

Installation OMNIKEY 3121 USB

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember PocketPC.ch_Review_iLauncher.

Informationen zum neuen Studmail häufige Fragen

Installationsleitfaden kabelsafe backup professional unter MS Windows

Einführungskurs MOODLE Themen:

Anleitung über den Umgang mit Schildern

Flugzeugen einen Glanz aufmalen

kurze Anleitung zur Nutzung der Kaspersky Rescue Disk 10 Inhalt

6. Benutzerdefinierte Zahlenformate

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb

Wir machen neue Politik für Baden-Württemberg

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

TREIBER INSTALLATIONSPROZESS WINDOWS 7 (32 oder 64 BIT)

Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen

Statuten in leichter Sprache

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Die Backup-Voreinstellungen finden Sie in M-System Server unter dem Reiter "Wartung".

C++ Tutorial: Timer 1

Leichte-Sprache-Bilder

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

WINDOWS 7 (32 o 64 bit)

System der. Bühnensteckverbind 63A ( System Eberl ) REICHE & VOGEL-B.DELTSCHAFT. Blumenstr.10 D Berlin (Spandau)

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Kursangebot gesammelt einlesen

3. auf Symbol klicken erstellt von Erika Völkel

Zwischenablage (Bilder, Texte,...)

Rechner- und Systemoptimierung für die Benutzung von WinPC-NC Light und WinPC-NC Economy

iphone- und ipad-praxis: Kalender optimal synchronisieren

WORKSHOP für das Programm XnView

Benutzung der LS-Miniscanner

Lehrer: Einschreibemethoden

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol

Dieser Text beschreibt die Neuerungen von DaNiS und die Vorgehensweise beim DaNiS-Update.

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Erstellen eines Screenshot

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

CodeSaver. Vorwort. Seite 1 von 6

GSD-Radionik iradionics Android-App

Vorbereitung einer Grafik zum Druck einer Glotze aus, Stadion an! -Zaunfahne Torsten Bunde, Stand 5. Juli 2014

Programme im Griff Was bringt Ihnen dieses Kapitel?

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Schulung Marketing Engine Thema : Einrichtung der App

Mit dem sogenannten Seriendruck können Etiketten und Briefe mit einer Adressdatei (z. B. Excel) verknüpft werden.

Übernahme von Daten aus einem bestehenden Outlook-Profil bzw. einem anderen Exchange Server

Terminabgleich mit Mobiltelefonen

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

Ein Poster mit Inkscape

Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!

2A Basistechniken: Weitere Aufgaben

How-To Guide 002. Wie stelle ich den virtuellen Speicher von Windows ein?

Office 2013 ist eingerichtet - aber es gibt noch keinen Zugang zu dem Postfach im neuen Mailsystem

Neuheiten PROfirst KALKULATION Version 8. SQL ist sehr schnell. Neuheiten PROfirst KALKULATION Version 8 1/7

Sicherheit für Windows Vista Teil 2: Windows Tool zum Entfernen bösartiger Software

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Kurzeinweisung. WinFoto Plus

Lubuntu als Ersatz für Windows

CL-Mini-ABF. Kurzbeschreibung. Installation und Vorbereitung. Stand Ihre HTK-Filiale Michelstadt

ELSTER Daten versenden

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

3. Klicken Sie im folgenden Fenster unbedingt auf "Installation fortsetzen", um die für das Update benötigten Treiber zu installieren.

Übung - Datenmigration in Windows Vista

einrichtung in den kaufmännischen Programmen der WISO Reihe

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

WLAN mit WPA (wpa4fh)

GEVITAS Farben-Reaktionstest

Ihr Ideen- & Projektmanagement-Tool

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Anleitung Stempelerstellung Geocoinshop.de

Word-Vorlagen-System mit Outlookanbindung

Dokumentation IBIS Monitor

Erfahrungen mit Hartz IV- Empfängern

Informatik 1 Tutorial

1. Melden Sie sich als Administrator an und wechseln Sie zum Desktop

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

AutoTexte und AutoKorrektur unter Outlook verwenden

2015 conject all rights reserved

Transkript:

2D Spiele programmieren in Java Teil 3: Bilder, Animationen Dr. Katja Wegner Dr. Ursula Rost Bilder Sind vielfach in Spielen einsetzbar (Menüs, Hintergrund, Objekte) Eigenschaften: Typ (e.g. bitmap, vector) Größe (Höhe und Breite) Farbtiefe (8/16/24 bit, RGB, etc.) Alpha channel (e.g. RGBA) Alpha channel Formate ohne transparent transluzent Viele Formate vorhanden Am meisten benutzt: Empfehlung Optimierung JPEG für Hintergrundbilder PNG für alle anderen Bilder Verschiedene Optionen für Kompressionen ausprobieren, um die Bildgröße klein zu halten und trotzdem ein relativ gute Bildqualität zu bekommen Bilder einmal laden und wieder verwenden Verwaltung der Bilder notwendig Grafische Darstellung eines Objekts von Position trennen 1

Bilder laden BufferedImage: Unterklasse von Image Schneller Zugriff auf Bilddaten zur Manipulation (Farbmodel, Raster) try { BufferedImage img= ImageIO.read(getClass().getResource("spider.png")); catch (IOException e) { System.err.println("Failed to load: "+ filename); System.exit(0); : graphics.drawimage(img, x, y, ImageObserver) Bilder + Kompatibilität import java.awt.*; GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsConfiguration gc = ge.getdefaultscreendevice().getdefaultconfiguration(); BufferedImage image = null; try { BufferedImage loadedimage = ImageIO.read( ); // Image kompatibel zur verwendet Grafikkonfiguration machen image = gc.createcompatibleimage( loadedimage.getwidth(), loadedimage.getheight(), loadedimage.getcolormodel().gettransparency() ); Graphics2D g2d = image.creategraphics(); g2d.drawimage( loadedimage, 0, 0, null ); g2d.dispose(); catch( IOException e ) { // Umsetzung Übung 3.1 Implementieren Sie diese Klassenstruktur. Sprite: Verwaltet eine Bilddatei MyFirstSprite: liest eine PNG Datei in ein BufferedImage Objekt MyPredefinedSprite: schreibt die Grafikanweisungen der draw() Methode eines Entities in ein BufferedImage, dass dann an die Superklasse übergeben wird Animationen Bildfolge mit einer bestimmten Frequenz FPS Frames per second Wie viele sind normal? 100 FPS 50 30 15 5 2

Animationen Animationsschleife Bildfolge mit einer bestimmten Frequenz FPS Frames per second Wie viele sind normal? 100 FPS 50 30 20 5 TV: 25/30 FPS 48(2x)/72(jedes Bild 3x auf Bildschirm projektiert) Mindestens 24 FPS (Richtwert: Bildschirmfrequenz: 85 Hz 80-85 FPS) Phase 1: update Bilderpositionen Phase 2: zeichnen der Bilder auf neuen Positionen Phase 3: schlafen Übung 3.2 Ersetzen Sie das Bild des Gegenspielers bei jedem Durchlauf der game loop durch ein anderes Bild, indem Sie vier Bilder einlesen und nach einander anzeigen. Experimentieren Sie mit verschieden Wartezeiten (sleep()). FPS und sleep() Je schneller der PC, um so schneller ist das Neuzeichnen beendet Spiel läuft unterschiedlich schnell auf unterschiedlichen PCs Individuelle Wartezeiten entsprechend der Zeit einführen, die für das verwendet wird Übung 3.3 Passen Sie die game loop entsprechend an. Abfrage Systemzeit: System.currentTimeMillis(); 3

Hinweis: Pause zwischen Bildern 42ms, um 24 FPS zu erreichen Problem unter Windows 95/98 : System.currentTimeMillis() update nur alle 50/60ms Also nur 20 FPS möglich oder eigenen/andere Timer verwenden!!! (Buch: Killer game programming ab Seite 24) FPS und UPS UPS: Updates pro Sekunde dauert sehr lange bei vielen Objekten FPS zu niedrig (Spiel ruckelt) mehrere Updates (z.b. Bewegungen) in game loop durchführen und danach nur einmal neu zeichnen Double Buffering Double Buffering (2) Je mehr Grafiken/Objekte gezeichnet werden müssen, könnte es zum Flackern des Bildschirms kommen, da das direkt auf den Bildschirm länger dauert. Ein Puffer zum im Hintergrund und einer zum Anzeigen Double Buffering (3) Double Buffering (3) Wird automatisch von Canvas gemacht: BufferStrategy 4

Laufender Hintergrund Folge von verbundenen Bildern z.b. für jump and run Spiele Umsetzung N images ( I1 In) mit derselben Höhe, h, aber unterschiedlichen Breiten (w1 wn) Das erste Bild, I1, startet an position x = 0 I 1 w 1 I 2 w 2 I n w n h Viewport x=0, y=0 x = x VS x = x VE Umsetzung 2 Fall 1: Bild ist komplett im viewport Fall 2: Bild ist nicht komplett im viewport 5