© best_vector/Shutterstock.com
Windows Developer
DualTextureEffect, AlphaTestEffect, SkinnedEffect in der Praxis

Noch mehr Effekte

Am Ende des letzten Teils dieser Serie haben wir einen von Hand erstellten Quader als SkyBox verwendet - die in ihm umherschwebende Kugel bekam dank des EnvironmentMapEffects einen eleganten Spiegeleffekt verpasst. Damit haben wir zwei der fünf unter Windows Phone 7 verfügbaren Effekte behandelt. In diesem Teil der Serie wollen wir uns den restlichen drei Klassen widmen und zudem einen ersten Blick in Richtung des quelloffenen MonoGame-Frameworks werfen.

Tam Hanna


Quellcode zum Download

Im Rahmen des letzten Teils der Serie mussten wir die Größe der für die SkyBox zuständigen Textur reduzieren, da das Windows Phone 7 keine Texturen mit Diagonalen größer 2 048 unterstützt. Am Telefon reicht die herunterskalierte Textur aufgrund der geringen Auflösung von nur 800 x 480 Pixeln aus – auf einem FullHD-Monitor sieht die Sache anders aus.

Erfreulicherweise bietet XNA eine Methode an, die das „Austauschen“ von Texturen je nach Kompilationsziel ermöglicht. Zur Nutzung dieses Systems klicken Sie die Projektmappe im Solution Explorer rechts an und erstellen zwei weitere Projekte vom Typ Empty Content Project. Benennen Sie diese HiDefContent und ReachContent.

Im nächsten Schritt müssen Sie Ihr Projekt um eine Nature für jede Plattform erweitern – so Sie die Projektmappe nicht schon für Xbox, Windows Phone und PC ausgelegt haben, erledigen Sie dies durch einen Rechtsklick auf eines der Codeprojekte. Im daraufhin erscheinenden Kontextmenü bietet Ihnen Visual Studio an, eine Kopie des Projekts für eine andere Plattform zu erstellen.

Nach dem Aufbau der Struktur ist es an der Zeit, die Ressourcen zu verteilen. Das von Haus aus erstellte Content-Projekt enthält all jene Dateien, die sowohl unter Windows Phone als auch unter Xbox und Windows erforderlich sind. Im Reach-Projekt platzieren Sie Ressourcen, die für das Handy angepasst sind – das HiDef-Projekt enthält Shader und hochauflösende Texturen (Abb. 1).

Abb. 1: Die Content-Pipeline erledigt das Umschalten zwischen den Ressourcen automatisch

Es ist übrigens kein Problem, wenn die Reach- und HiDef-Ressourcen identische Dateinamen haben. Während der Kompilation analysiert Visual Studio die Projektstruktur – solange kein Codeprojekt beide Content-Projekte referenziert, sollte das Erstellen der Solution ohne Probleme vonstatten gehen.

Im letzten Schritt geht es darum, die Codeprojekte mit den ihnen zugehörigen Ressourcenprojekten zu versehen. Das ist vergleichsweise simpel: Klicken Sie die jeweiligen Codeprojekte im Solution Explorer an und öffnen Sie den References-Ordner. Danach bekommen beide Projekte einen Verweis auf das „gemeinsame“ Content-Projekt, zudem je einen Verweis auf das Projekt mit den für die Plattform vorgesehenen Inhalten.

Konditionale Kompilation

Zur Nutzung von fortgeschrittenen Ressourcen ist die Verwendung einiger Klassen erforderlich, die ärgerlicherweise nur im HiDef-Profil verfügbar sind. Das Kompilieren eines damit versehenen Codes schlägt fehl, we...

Windows Developer
DualTextureEffect, AlphaTestEffect, SkinnedEffect in der Praxis

Noch mehr Effekte

Am Ende des letzten Teils dieser Serie haben wir einen von Hand erstellten Quader als SkyBox verwendet - die in ihm umherschwebende Kugel bekam dank des EnvironmentMapEffects einen eleganten Spiegeleffekt verpasst. Damit haben wir zwei der fünf unter Windows Phone 7 verfügbaren Effekte behandelt. In diesem Teil der Serie wollen wir uns den restlichen drei Klassen widmen und zudem einen ersten Blick in Richtung des quelloffenen MonoGame-Frameworks werfen.

Tam Hanna


Quellcode zum Download

Im Rahmen des letzten Teils der Serie mussten wir die Größe der für die SkyBox zuständigen Textur reduzieren, da das Windows Phone 7 keine Texturen mit Diagonalen größer 2 048 unterstützt. Am Telefon reicht die herunterskalierte Textur aufgrund der geringen Auflösung von nur 800 x 480 Pixeln aus – auf einem FullHD-Monitor sieht die Sache anders aus.

Erfreulicherweise bietet XNA eine Methode an, die das „Austauschen“ von Texturen je nach Kompilationsziel ermöglicht. Zur Nutzung dieses Systems klicken Sie die Projektmappe im Solution Explorer rechts an und erstellen zwei weitere Projekte vom Typ Empty Content Project. Benennen Sie diese HiDefContent und ReachContent.

Im nächsten Schritt müssen Sie Ihr Projekt um eine Nature für jede Plattform erweitern – so Sie die Projektmappe nicht schon für Xbox, Windows Phone und PC ausgelegt haben, erledigen Sie dies durch einen Rechtsklick auf eines der Codeprojekte. Im daraufhin erscheinenden Kontextmenü bietet Ihnen Visual Studio an, eine Kopie des Projekts für eine andere Plattform zu erstellen.

Nach dem Aufbau der Struktur ist es an der Zeit, die Ressourcen zu verteilen. Das von Haus aus erstellte Content-Projekt enthält all jene Dateien, die sowohl unter Windows Phone als auch unter Xbox und Windows erforderlich sind. Im Reach-Projekt platzieren Sie Ressourcen, die für das Handy angepasst sind – das HiDef-Projekt enthält Shader und hochauflösende Texturen (Abb. 1).

Abb. 1: Die Content-Pipeline erledigt das Umschalten zwischen den Ressourcen automatisch

Es ist übrigens kein Problem, wenn die Reach- und HiDef-Ressourcen identische Dateinamen haben. Während der Kompilation analysiert Visual Studio die Projektstruktur – solange kein Codeprojekt beide Content-Projekte referenziert, sollte das Erstellen der Solution ohne Probleme vonstatten gehen.

Im letzten Schritt geht es darum, die Codeprojekte mit den ihnen zugehörigen Ressourcenprojekten zu versehen. Das ist vergleichsweise simpel: Klicken Sie die jeweiligen Codeprojekte im Solution Explorer an und öffnen Sie den References-Ordner. Danach bekommen beide Projekte einen Verweis auf das „gemeinsame“ Content-Projekt, zudem je einen Verweis auf das Projekt mit den für die Plattform vorgesehenen Inhalten.

Konditionale Kompilation

Zur Nutzung von fortgeschrittenen Ressourcen ist die Verwendung einiger Klassen erforderlich, die ärgerlicherweise nur im HiDef-Profil verfügbar sind. Das Kompilieren eines damit versehenen Codes schlägt fehl, we...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang