Anwendungsentwicklung mit dem Windows Phone 7



Ähnliche Dokumente
C++ Tutorial: Timer 1

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

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

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

VDW Statistik Portal Häufig gestellte Fragen. Version 1.2 ( Katharina Düngfelder & Markus A. Litters) Vorwort

Installations- und Bedienungsanleitung CrontoSign Swiss

J.6 Programmierung eingebetteter Systeme

Multimedia und Datenkommunikation

Anleitung über den Umgang mit Schildern

Game Development 1. Proseminar Objektorientiertes Programmieren mit.net und C# Philipp Kaiser. Institut für Informatik Software & Systems Engineering

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Übungen zu Übersetzerbau 2

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

Lizenzierung von SharePoint Server 2013

WICHTIGER HINWEIS FÜR HÄNDLER UND SERVICE-WERKSTÄTTEN:

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Informationen zum neuen Studmail häufige Fragen

ROFIN App Benutzerhandbuch. Version 1.0

INNER WHEEL DEUTSCHLAND

Zwischenablage (Bilder, Texte,...)

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.

Lizenzierung von SharePoint Server 2013

Erfahrungen mit Hartz IV- Empfängern

Screening for Illustrator. Benutzerhandbuch

SMS/ MMS Multimedia Center

Design Patterns 2. Model-View-Controller in der Praxis

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

Nutzung und Akzeptanz von QR-Codes

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

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Optimierung von Heizungsanlagen. Hydraulischer Abgleich Arbeitsweise der Software

Anleitung zur Installation des Printservers

Sound-Formate. SelfLinux Autor: Johnny Graber Formatierung: Torsten Hemm Lizenz: GFDL

AutoCAD Dienstprogramm zur Lizenzübertragung

Lehrer: Einschreibemethoden

Muthesius Kunsthochschule EDV-Zentrum. WLAN- Gebrauchsanweisung PC. von Bernd Papenfuß

Thema: Microsoft Project online Welche Version benötigen Sie?

Jan Parthey, Christin Seifert. 22. Mai 2003

Programme im Griff Was bringt Ihnen dieses Kapitel?

Der Kunde zahlt die Gehälter.

Terminabgleich mit Mobiltelefonen

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Statuten in leichter Sprache

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Mediator 9 - Lernprogramm

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Informationsblatt Induktionsbeweis

Bekannte Effekte bei Soft- und Hardware der ESTEC Datenlogger sowie der PC Auswertesoftware

Drucken aus der Anwendung

Installation - Start

Copyright Nokia Mobile Phones Alle Rechte vorbehalten. Issue 4 KURZANLEITUNG ZU NOKIA PC SUITE für Nokia 6210

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

Dreamweaver 8 Einführung

User Manual Data 24. Login und Layout

Internetpublikation des Referats K2 im Kompetenzzentrum für Personalverwaltung und Systemsteuerung (K-PVS)

Trickfilm «Hexe» mit PowerPoint PC PowerPoint 2007

Whitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager -rückläufer Script. combit GmbH Untere Laube Konstanz

BILDER TEILEN MIT DROPBOX

Anleitungen Freshest data

FRILO-Aktuell Ausgabe 2/2013

3D-Konstruktion Brückenpfeiler für WinTrack (H0)

Nutzung von GiS BasePac 8 im Netzwerk

Xesar. Die vielfältige Sicherheitslösung

Übungen zur Softwaretechnik

Webalizer HOWTO. Stand:

Erstellen von x-y-diagrammen in OpenOffice.calc

VMWARE HORIZON VIEW DOKUMENTATION V3.5.2 INHALTSVERZEICHNIS

xgu 2.0 Installationsanleitung Installationsanleitung Excel Add-In zu ASTAG GU Kalkulationsgrundlage Bern, 19. August 2014 Version: 01.

Windows 10 - Probleme

Anleitung für Vorlesungsaufzeichnungen mit Lecturnity. (im ZHG und diversen anderen Räumen der Universität Göttingen)

Modem: Intern o. extern

Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz.

PROFIS Software Lösungen

Installation SPSS Netzwerkversion (Mac)

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

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

Win-Digipet V 9.2 Premium Edition Wie bastele ich mir steuerbare Kontakte. Wie bastele ich mir steuerbare Kontakte? -Quick-And-Dirty-Lösung-

desk.modul : ABX-Lokalisierung

BANKETTprofi Telefonschnittstelle

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

Pfötchenhoffung e.v. Tier Manager

Stepperfocuser 2.0 mit Bootloader

Tipps für die praktische Durchführung von Referaten Prof. Dr. Ellen Aschermann

Grundlagen verteilter Systeme

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Unified Communication Client Installation Guide

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

Business Breakfast. Collaboration and more - Wie Windows 10 die IT-Landschaft in Ihrem Unternehmen beeinflussen wird. Ludwigshafen, 11.

Auto-Provisionierung tiptel 31x0 mit Yeastar MyPBX

Arbeiten mit UMLed und Delphi

Dokumentation PuSCH App. android phone

Stadt radio Orange Dein Fenster auf Orange 94.0

Technische Hinweise zur Installation und Freischaltung von Beck SteuerDirekt mit BeckRecherche 2010

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Webstream.eu Live Streaming mit ManyCam

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Transkript:

Anwendungsentwicklung mit dem Windows Phone 7 Anwendungen auf Basis von XNA IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

There are 10 to 20 times as many mobile phones as there are personal computers and 100 times as many as there are console platforms. As these things evolve into devices more like the media powerhouses we're used to developing for, there's a possibility we could have a breakout success there. John Carmack, November 2007 2

DirectX 3

Motivation für DirectX Bis Windows 95: Spiele fast ausschließlich für DOS programmiert Hardware wurde direkt angesprochen Im Grunde eigene Implementierung für jede Grafikkarte nötig Spiel hatte exklusiven Zugriff auf Hardware Nach Release von Windows 95: Spiele immer noch fast ausschließlich für DOS programmiert WinAPI als Zwischenschicht zu langsam DirectX 3.0 (1996) war erste erfolgreiche Version 4

DirectX Sammlung von APIs, die auf Multimedia und Spiele abzielen Implementiert als COM-Komponenten Zugriff auf Grafikkarte über einheitliches Interface Umgehung langsamer Windows-API-Komponenten GDI 5

Komponenten von DirectX DirectGraphics Zusammenführung der Komponenten DirectDraw & Direct3D DirectSound DirectInput Eingabe, ForceFeedback DirectPlay Multiplayer/Netzwerk API DirectShow Wiedergabe / Aufnahme von Videos/Sounds, inzwischen aber Teil der Windows API (somit nicht mehr wirklich DirectX) 6

XNA Managed DirectX und mehr 7

Was ist XNA? XNA steht für XNA is not an acronym Klassenbibliothek, die Vorhandenes kapselt... Graphics Audio Input... und Neues hinzufügt. Application Model Content Pipeline Basierend auf DirectX 9.0c und.net Compact Framewok 8

Schichten von XNA 9

.NET Compact Framework Konzipiert für mobile Geräte Teilmenge des.net Frameworks (ca. 30%) Kein ASP.NET, Remoting, Reflection... Fehlende Klassen in ansonsten unterstützten Namespaces,System.Collections.Generic.Hashset<T> Zusätzliche Funktionen Infrarotverbindungen Zusätzliche Steuerelemente Angepasste CLR Optimiert auf Speichernutzung und Akkulaufzeit 10

Warum XNA und nicht DirectX? Sehr ähnlicher Code läuft auf: 11

Application Model Wiederherstellen der Grafikkarte Grafikkarte geht in Lost State über, wenn z.b. die Orientierung des Bildschirms geändert wird Ressourcen müssen dann neu geladen werden Game Loop Implementiert in Microsoft.Xna.Framework.Game Game Components Game Services 12

Konzept: Game Loop Spiel läuft prinzipiell in einer endlosen Schleife: HandleInput(); UpdateGameState(); DrawGameState(); Was passiert, wenn man die Anweisungen einfach in while(gamerunning){} packt? 13

Konzept: Game Loop Lösung I Variable FPS: übergib seit Spielbeginn abgelaufene Zeit an Update() while (gamerunning) { Update(elapsedTime); Draw(); } 14

Konzept: Game Loop Lösung I Vorteil: konstante Spielgeschwindigkeit Nachteile Rundungsfehler addieren sich bei häufigen Update()-Aufrufen Große Sprünge in der Spielzeit bereiten manchen Physik-Engines Probleme Unterschiede im Spielablauf bei verschieden schnellen Rechnern Variable FPS in XNA: Game.IsFixedTimeStep = false; 15

Konzept: Game Loop Lösung II Constant FPS: Update() nur höchstens 1/StepSize mal pro Sekunde ausführen while (gamerunning) { } while(lastiterationtime + StepSize <= now) { Update(elapsedTime); lastiterationtime += StepSize; } Draw(); 16

Konzept: Game Loop Lösung II Vorteile Spielablauf auf allen Rechnern gleich elapsedtime annährend konstant Nachteile Rundungsfehler addieren sich bei häufigen Update()-Aufrufen Große Sprünge in der Spielzeit bereiten manchen Physik-Engines Probleme Unterschiede im Spielablauf bei verschieden schnellen Rechnern Variable FPS in XNA: Game.IsFixedTimeStep = false; 17

Konzept: Game Components Eigenständige und austauschbare Komponenten Zeichne FPS Spiele Sound ab Bewege Kamera uvm. Wird über Game.Components.Add registriert Initialize() und Update() werden automatisch aufgerufen Bei DrawableGameComponents auch Draw() Reihenfolge der Abarbeitung der Komponenten kann festgelegt werden 18

Konzept: Game Components Einige Komponenten stehen zum Download bereit Vorteil: einfaches Spiel kann aus vorgefertigten Komponenten zusammengebaut werden Nachteil: System nicht flexibel Komponenten werden immer nur einmal gezeichnet 19

Konzept: Game Services Wie kommunizieren die GameComponents miteinander? Game Services Jeder Game Service implementiert mindestens ein Service Interface Der Service wird mit seinem Interface in der Klasse Game registriert Game.Services.AddService(Type type, Object provider) Der Client lädt den Service Provider Game.Services.GetService(Type type) 20

Konzept: Game Services Vorteil: Komponenten müssen nur die Service Interfaces der anderen Komponenten kennen Vorteil: eine Klasse kann mehrere Service Interfaces implementieren Gliederung der öffentlichen Methoden und Properties nach Funktionalitätsbereich möglich Nachteil: unkontrollierte Nutzung der Services z. B. kann jede Klasse IGraphicsDeviceService nutzen und damit das GraphicsDevice beeinflussen 21

Konzept: Content Pipeline Im Spiel verwendeter Content durchläuft die Content Pipeline Nach Verarbeitung liegt Content als serialisiertes Objekt vor Vorgefertigte Verarbeitungsschritte für: 3D-Modelle (.fbx,.x) Bitmaps (.jpg,...) Sound (.wav,...) Content Pipeline ist erweiterbar 22

Konzept: Content Pipeline zur Kompilierzeit zur Laufzeit 23

24 Content Pipeline - Beispiel

25 Content Pipeline - Beispiel

26 Content Pipeline - Beispiel

27 Content Pipeline - Beispiel

28 Content Pipeline - Beispiel

Vorteile der Content Pipeline Content kann mit unterschiedlichen Tools erstellt werden Content kann speziell für Spiel angepasst werden Content ist typsicher Content kann schnell geladen werden 29