Dieser Artikel wurde maschinell übersetzt.

Unity

Entwickeln Ihres ersten Spiels mit Unity und C#, Teil 4

Adam Tuliper

Willkommen Sie zum letzten Artikel in meiner Serie über Einheit Spielentwicklung. Denken Sie daran, bei der ersten des app-Marktes Auflösung? Jeder war springen auf den fahrenden Zug, und es gab eine app für alles. Mit einer Unmenge apps hatte, kamen die Leute Schwierigkeiten finden Ihre Anwendung. Mit apps, die auf dem Markt verloren gehen, ist ein sehr reales Problem für Entwickler. Im Windows Store/Windows Phone Store ist der dominierende Markt auf dem Planeten nicht. Heißt das, dass Sie dafür entwickeln sollte nicht? Absolut nicht. Entwickler haben hier eine echte Chance, ihre Anwendungen gefunden zu haben. Ich höre von Entwickler ihre apps vorgestellten oft mit. Ich weiß, dass genau drei Menschen, die dies gemacht haben auf anderen Plattformen passieren, und ich sprechen viele Entwickler von allen Plattformen.

In diesem Artikel werde ich den Prozess des Nehmens ein Spiel entwickelt, in der Einheit zu Windows ansehen. Der Prozess ist ziemlich einfach und erlaubt Ihnen, einige ziemlich coole Plattform-Integration zu tun, die relativ einfach in einem Spiel zu implementieren ist. Es gibt derzeit noch einige ausgezeichnete Werkzeuge ab Einheit 4.5, der unterstützt die neue universelle Projekte (Lösungen, die Pakete für Windows Phone und Windows-Speicher mit gemeinsamer Code generieren), auch.

Während der Arbeit halten Sie das beliebte sagen im Auge, "Test, Test oft."  Sie sind nicht geeignet, ein besseres Software-Entwicklung-Mantra zu hören, und es gilt sehr in game dev. Ich möchte es aber leicht zu überarbeiten: "Früh auf Geräten testen, oft auf Geräten zu testen." Egal auf welcher der Plattform finden Sie Geräte zu handeln, möglicherweise anders als erwartet.

Die Plattform

Wenn Sie dieses Magazin lesen, haben Sie wahrscheinlich eine Vorstellung von der Windows-Ökosystem. Ich werde nur einen kurzen Überblick über welche Einheit in diesem Ökosystem unterstützt. Sie können die Xbox 360, Xbox ONE, 8/8.1 und Windows Phone, Windows 8/8.1 (Windows Store apps) und dem Desktop Ziel. Sie können alle diese Ziele in der kostenlosen Version der Einheit außer Xbox. Du wirst sehen, dass Xbox in den Buildoptionen aufgelistet, aber man nicht darauf bauen, es sei denn, du in der ID-Programm für Xbox ONE bist. Für die Xbox 360 müssen Sie über einen genehmigten Verleger anmelden. Wenn Sie auf etwas supercool arbeiten, schauen Sie bitte auf das ID-Programm an xbox.com/Developers/id. Windows Phone und Windows Store haben sehr ähnliche Buildprozesse.

Denken Sie daran, dass Windows Phone und Windows Store verfügen über die folgenden Optionen zu erstellen: Windows Phone 8 über Silverlight; Windows Phone 8.1 über Silverlight oder Windows Runtime (WinRT); Windows 8; Windows 8.1; Universal-apps, die auf Windows Phone 8.1 und Windows 8.1.

Bau für Windows

Einen Build ist von der Einheit eigentlich ganz einfach. Zum lokalen testen, es ist nur eine Frage der Erziehung des Dialogfeld "Build" (Datei | Build Einstellungen), dann auf Erstellen klicken und wählen Sie einen Ausgabeordner. Die Erstellungs- und Option startet Ihr Spiel nach der Kompilierung auf eine angeschlossene Telefon oder Ihrem lokalen System, je nachdem, was Sie sich entscheiden. Das ist es auf einer grundlegenden Ebene. Nach einem erfolgreichen Build öffnet der Ordner, den Sie gewählt haben entweder eine ausführbare Datei oder eine Visual Studio -Lösung. Störungen werden im Konsolenfenster angezeigt, so dass es immer eine gute Idee, es über das Fenstermenü zu öffnen. Wenn Sie das Konsolenfenster geöffnet haben, müssen Sie beachten der Statusleiste ganz unten das Editor-Fenster für eine einzelne Zeile rot-Nachrichten. Es ist ein bisschen versteckt, aber sobald Sie, dass es da ist wissen, vergessen Sie es nicht.

Für alle baut Einheit läuft Ihr Build mit es einen Spieler nennt und es unterstützt die Spieler von den verschiedenen Plattformen erwähnt. Wenn Sie einen Build Ihres Spiels erstellen, müssen Sie hinzufügen jeder Szene gewünschte im Build. Um die verschiedenen Szenen in Ihrem Spiel (außerhalb der erste Eintrag, der in der Standardeinstellung lädt) zu laden, verwenden Sie Application.LoadLevel, die entweder einen Szene-Namen wie Application.LoadLevel("Level1") oder einen Index wie Application.LoadLevel(2) annimmt. Ich bin kein Fan die Index-Methode zu verwenden, da, wie Sie sehen werden, Bestellung von Szene leicht variieren kann.

Jeder Ebene, die Sie im Code laden möchten muss Ihren Build hinzugefügt werden. In der Build-Einstellungsdialog fügen Sie was Sie wollen in den Build über die "hinzufügen" Taste oder per Drag & Drop Scene-Dateien auf das Dialogfeld "Build" Szenen. Hier können Sie neu anordnen, sie auch (die wieder laden-Szenen nach Index gefährlich macht weil sie leicht neu angeordnet werden können). Sie können aktivieren oder deaktivieren diese Szenen für jeden Build durch Aktivieren oder deaktivieren sie. Als Abbildung 1 zeigt, die Schritte sind wie folgt:

  1. Das Build Szenen hinzufügen.
  2. Stellen Sie sicher, dass die gewünschten Szenen aktiviert sind. Ich überprüfe oft eine Test-Szene in einem lokalen Build und deaktivieren es für die endgültige Version.
  3. Markieren Sie die Plattform, für die Sie erstellen möchten.
  4. Klicken Sie auf Switch-Plattform zu Trigger-Einheit zur Vorbereitung Ihres Vermögens für die ausgewählte Plattform und aktivieren Plattform -­bestimmten Präprozessorkonstanten, wie UNITY_METRO, UNITY_IPHONE, UNITY_WEBPLAYER und So weiter.
  5. Bauen Sie Ihr Spiel in einem plattformspezifischen-Paket.

einen Build Szenen hinzufügen
Abbildung 1 einen Build Szenen hinzufügen

Für Windows-Desktop der Standalone (Desktop)-Build ist die Standardeinstellung, wenn Sie Einheit öffnen. Mit diesem Build Einheit verwendet Mono Spiel Assemblys kompiliert und packt es mit der Common Language Runtime-Engine. Sie erhalten eine ausführbare Datei und einen Ordner, in dem alles verpackt ist. Dieser Build ist einfach, da die meisten desktop Builds sind.

Für Windows-Speicher und Windows Phone Dies ist, wo der Spaß beginnt, und ich meine es ernst. Sie können einige wirklich coole Plattformintegration tun, beim Exportieren in Windows-Speicher und Windows Phone. Live Fliese können Sie um Benutzer kommen zurück zu Ihrem Spiel kostenlos Computerspiele, eine SMS schicken, verwenden Sie Gebietsschutz und vieles mehr zu locken. Das wichtigste was zu beachten ist, dass es relativ einfach, Plattform-spezifischen Funktionen in Ihr Spiel zu integrieren.

Der Build-Prozess unterscheidet sich ein wenig aus dem desktop-Build, obwohl Sie noch ein schnell erstellen und ausführen aus dem Dialogfeld und erhalten einen laufenden Windows-Speicher oder Windows Phone app ziemlich schnell zu Testzwecken tun können.

Um zu verstehen wo plattformspezifischer Code in Ihre Einheit-Spiel passt, Schau wie die Einheit der Code kompiliert wird. Der Code, der in der Einheit-Editor ausgeführt wird durch die lizenzierte Version von Mono kompiliert. Dies bedeutet, dass Sie WinRT (Windows Store/Windows Phone 8.1)-API-Aufrufe wie GeoLocation machen können, während der Ausführung Ihres Spiels im Editor gibt es spezifische WinRT-Methoden, die in Mono nicht vorhanden sind. Ebenso gibt es Funktionen in Mono, die in der Windows-Runtime, z. B. Hashtable und traditionellen .NET-Dateizugriff über System.IO nicht vorhanden sind. Es gibt viele Überschneidungen zwischen Mono und der Windows-Runtime, aber sie sind verschiedenen APIs, erwarten Sie also einige Unterschiede.

Wenn Sie Ihr Projekt für den Windows-Speicher erstellen, Einheit verwendet die Microsoft .NET Framework Spiel Assemblys kompiliert. Standardmäßig verwendet der .NET-Kern zum Kompilieren von Assemblys, die ist im Wesentlichen das, was WinRT .NET ist. Es genügt eine Möglichkeit zu sagen, Einheit, plattformspezifische Code zu kompilieren, nur, wenn für diese Plattform kompilieren.

Es gibt zwei Möglichkeiten der Verwendung von plattformspezifischen Code hier. (Es gibt ein drittes Verfahren, als eine Brücke, die Aktionen zwischen Einheit und Visual Studio Lösungscode Drähte, aber es ist weit weniger oft verwendet und werden nicht hier behandelt werden.) Die erste Technik ist ein Plug-in verwenden. Sie können eigene, schreiben die ziemlich trivial, oder laden Sie eine von mehreren guten Quellen. Während ich dies schreibe sind prime31.com Plug-ins für Windows-Speicher und Windows Phone kostenlos. Praktisch alle großen Verlag mit Einheit verwendet-Plug-ins in ihre Projekte. Erhalten diese solange du kannst, es ist eine erstaunliche Sache.

Mithilfe von plattformspezifischen Code

Über Plug-Ins das Plug-in-Modell in der Einheit verwendet zwei Versionen einer Bibliothek mit dem gleichen Methodensignaturen. Eine ist im Wesentlichen eine Stub-Version deiner Bibliothek kompiliert gegen das .NET Framework 3.5, der sich in Assets\Plugins\YourPlugin.dll befindet. Das ist die Version, für die Einheit verwendet Ihr Spiel im Editor ausgeführt wird. Die nächste ist für die Plattform, Sie Zielen sind, kompiliert — sagen Windows Store oder Windows Phone — und ist in verpackt Ihr Spiel beim Erstellen eines Builds von der Einheit, wie in Abbildung 2.

Gebäude mit plattformspezifischen Code über ein Plug-In
Abbildung 2 Gebäude mit plattformspezifischen Code über ein Plug-In

Die Plattform-spezifischen Bibliothek befindet sich im Assets\Plugins\ < Plattform > \YourPlugin.dll (die Plattform kann sein Windows 8.x, iOS, Windows Phone 8 und So weiter).  Wenn Sie keinen Grund, einem selbst im Gegensatz zum Herunterladen einer der vielen bereits vorhandenen zu erstellen haben, lesen Sie in bit.ly/1EuLV1N für die grundlegenden Richtungen. Der Hauptunterschied in der Plug-ins (außerhalb der Plattform-API, natürlich) ist, wo Sie die Plattform-spezifischen Dll ablegen. Hier finden Sie die Plug-in Standorte, an bit.ly/1v2ml1m.

Unter Verwendung eines prime31-Plug-ins hier ein live Tile festgelegt ist so einfach wie das Anfügen des Codes in Abbildung 3 , GameObject in der Szene. Klasse SettingsPane und Fliesen sind Plug-ins, die Funktionalität zur Implementierung von plattformspezifischen Code enthalten.

Abbildung 3-Prime31-Plug-in-Code

public class WindowsStoreAppSettings : MonoBehaviour
{
  private void Start()
  {
#if UNITY_METRO // A preprocessor directive to run when Windows Store
                // build is selected in Unity.
  SettingsPane.registerSettingsCommand("Privacy Policy",
    "This is my privacy policy. Consider a url as well to bring you to the site.");
  // Set the live tile. You can set a source as an Internet URL, as well.
  // This is not the Unity assets folder.
  // You'll want to make sure this image appears in the
  // generated Visual Studio project because it won't get
  // pushed from Unity in any way.
  var images = new string[] { "ms-appx:///assets/WideLiveTile.png" };
  Tiles.updateTile(TileTemplateType.TileWideImage, null, images);
#endif
  }
}

Über Präprozessordirektiven können auch Präprozessordirektiven aktivieren oder Deaktivieren der Kompilation von Inlinecode. Dies ist ein übliches Verfahren, wenn code zwischen den verschiedenen Plattformen für eine Vielzahl von Technologien und wird auch sehr oft in Einheit-Spiele verwendet. Bei dieser Methode verwenden Sie einfach eine Richtlinie in der Codeklasse. Präprozessor-Direktiven können für verschiedene Zwecke verwendet werden. Die wichtigen Regeln zu merken sind: Trennen Sie Ihren Code durch Plattform mit einer Präprozessordirektive plattformspezifische; Einige Präprozessor-Direktiven werden aktiv im Moment Wechsel von Plattformen in Einheit Buildeinstellungen (wie UNITY_METRO); Einige werden nur beim Kompilierung außerhalb des Editors (NETFX_CORE); andere möglicherweise verfügbar aller Zeiten (z. B. die Prüfung auf Einheit Version, UNITY_4_5 und anderen benutzerdefinierten Richtlinien, die Sie definieren).

Ich zeige Ihnen ein Beispiel zur Verwendung der Windows Plattform-spezifischen Code. Wenn ich auf GeoLocation in der Windows-Runtime zugreifen möchten, kann ich diesen Code direkt in meine MonoBehavior abgeleitete Klasse enthalten (siehe Abbildung 4), die jedes Spiel zugeordnet werden­Objekt. Da dieser Code im Editor mit Mono kompiliert wird, schlägt es fehl, ohne wickeln es in ein Präprozessor-Direktive. Wir müssen Einheit dieser Code nur wenn außerhalb des Editors kompiliert wird. Sie Fragen sich vielleicht, was ist der Unterschied zwischen NETFX_CORE und UNITY_METRO. Erstere ist eine Kompilierung-Einstellung und wird nur verwendet, wenn Ihr Spiel Assemblys für die Windows-Runtime kompiliert sind. Letzteres wird verwendet, wenn Sie Windows Store als Plattform in die Einheit Buildeinstellungen ausgewählt haben. Dies kann in c#, UnityScript oder Boo-Code aktiv sein. Ich persönlich bevorzuge die NETFX_CORE-Richtlinie zu meinem WinRT Code statt UNITY_METRO, umschließen, wie NETFX_CORE nur verfügbar auf Export/Bau ist und UNITY_METRO tätig in den Editor, ist sobald Sie Plattformen in den Buildeinstellungen wechseln. Dies bedeutet, dass Code in den Editor ausgeführt werden kann das ein Problem sein kann, wenn es eine plattformspezifische-API enthält. Sie können hinzufügen, andere Direc­Fünfer auf der gleichen Linie wie & !UNITY_­EDITOR, aber ich bevorzuge einfach NETFX_CORE.

Abbildung 4 verwenden Geolocation

public class FindLandTarget : MonoBehaviour
{
// If you’re compiling for the Windows Runtime, use this code
// to GeoLocate on object collision.
#if NETFX_CORE
  void OnCollisionEnter(Collision collision)
  {
    Debug.Log("Collided with " + collision.gameObject.name);
    GetGeoLocation();
  }
  async void GetGeoLocation()
  {
    // Must call geolocation on the UI thread, there's a UI piece to be shown.
    UnityEngine.WSA.Application.InvokeOnUIThread(
      async () =>
        {
        var locator = new Windows.Devices.Geolocation.Geolocator();
        var position = await locator.GetGeopositionAsync();
        Debug.Log(string.Format("{0}, {1}  Accuracy: {2}",
          position.Coordinate.Latitude, position.Coordinate.Longitude,
          position.Coordinate. Accuracy));
        }, false
            );
    /**/
  }
#else // When you’re not using the Windows Runtime, use this collision code instead.
  void OnCollisionEnter(Collision collision)
  {
    // Non-Windows Runtime platforms, no geolocation.
    Debug.Log("Collided with " + collision.gameObject.name);
  }
#endif
}

Builds

Einheit wird mit dem .NET Framework, speziell Windows Runtime Windows Store und Windows Phone 8.1 Code kompilieren. Silverlight für Windows Phone 8.1 verwenden nicht. Jedoch wird der Windows Phone 8-Code als HH, ein Silverlight-Paket für Windows Phone, kompiliert, wie erwartet.

Einheit Ihr Spiel Assemblys kompiliert und erstellen eine Visual Studio -Lösung, mit dem Sie wiederum Ihre final Build erstellt. Mit anderen Worten, außer wenn tun einen Desktop erstellen, müssen Sie Ihre endgültige Zusammenstellung in Visual Studio bevor Ihr Spiel an der Windows-Speicher oder Windows Phone Speicher zu tun. Die generierte Visual Studio -Lösung enthält die Einheit-Binärdateien, die mit Ihrem Spiel Assemblys und eine grundlegende XAML verpackt / c# oder C++ host app. Jedes Mal, wenn Sie von der Einheit zu bauen, ist das einzige, das durch Einheit überschrieben wird Ihr Daten-Ordner. Bei zukünftigen Builds von der Einheit sind nicht benutzerdefinierten Code oder andere Ihre Visual Studio -Lösung vorgenommenen Änderungen überschrieben.

Windows Store und Universal App baut

Ich nehme einen Blick auf die Buildoptionen für Windows Store, die in gezeigt werden Abbildung 5. Die Buildtypen Windows Store in der Einheit enthalten, Windows 8, Windows 8.1 und Windows Phone 8.1 Universallösungen, die Windows Phone 8.1 und Windows 8.1 Projekte und ein gemeinsames Projekt enthalten, wie in Abbildung 6. Beachten Sie auch das Feld "Einheit C#-Projekten" in Abbildung 5. Dies ist eine unglaublich nützliche Funktion, die ich sehr empfehlen. Es wird die Visual Studio -Lösung mit zusätzlichen Projekten mit Ihrer Einheit-Code erzeugen, wie in gezeigt Abbildung 7. Sie können tatsächlich ändern Code in diese Projekte zu einem gewissen Grad und beim Kompilieren fragt Visual Studio Einheit Spiel Assemblys erneut zu verarbeiten, ohne dass eine vollständige Erstellung von Einheit wieder zu tun. Das bedeutet, Sie können Ihre Einheit-Code in Ihre endgültigen Visual Studio , das ist erstaunlich für das Debuggen von Plattform bearbeiten — es bedeutet, du musst nicht neu erstellen Ihre Lösung von der Einheit, jedes Mal, wenn Sie eine Codeänderung durchführen.

Gebäude für Windows Store
Abbildung 5 Gebäude für Windows Store

Universal-App mit einem gemeinsamen Projekt
Abbildung 6 Universal-App mit einem gemeinsamen Projekt

weitere Projekte
Abbildung 7 weitere Projekte

Wenn Einheit die Visual Studio -Projektmappe generiert, gibt es einige Dinge zu beachten. Zuerst wird Ihr Windows-Speicher-Projekt (zum Zeitpunkt des Schreibens) ein ARM-Buildplattform, nicht X 86 standardmäßig verwendet. Dies kann sehr verwirrend sein, wenn Sie versuchen, erstellen und führen, weil Sie einem Fehler erhalten, dass Ihr System eine ARM-Architektur ist. Während ich empfehlen, das Erstellen von Builds für ARM und X 86 zum lokalen testen sollten Sie wählen, X 86, ARM-Fehler zu vermeiden. Auch, während ich dies schreibe gibt es keine 64-Bit-Spieler auf Einheit für Windows Store oder Windows Phone. Wenn Sie eines der wenigen ARM Windows 8-Geräte, wie die Oberfläche 1 oder 2 Oberfläche haben (RT nicht Pro; Pro ist ein X 86-basierten System), dann mit allen Mitteln können Sie wählen Sie ARM und eine remote-Bereitstellung und debugging zu tun. Jedoch verwenden die meisten Entwickler einen X 86-basierten PC zum lokalen testen.

Als nächstes werden Sie feststellen, dass der Build-Konfiguration-Typ Master, Debug und Release-Optionen enthält. Dies ist im Gegensatz zu typischen .NET Anwendungen, die nur Debug und Release enthalten. Der Debug-Build ist die langsamste. Es enthält debugging-Informationen und unterstützt auch den Unity-Profiler — ein Tool in der Pro-Version, die zur Optimierung der Spiele genutzt. Der Release-Build ist vollständig optimiert, unterstützt aber auch die Einheit-Profiler. Der Master Build ist diejenige unterwerfen Sie sich jedes Geschäft. Dies ist die optimierte, serienreifen Version und der Einheit-Profiler werden nicht unterstützt. Wenn ich zuerst ein Spiel zu testen, wähle ich ein Meister zu bauen, damit ich eine wahre Vorstellung der Leistung auf meinem Gerät erhalten.

Für Windows Phone sind die beiden wichtigsten Optionen ob für Windows Phone 8 oder Windows Phone 8.1 erstellt. Windows Phone 8 apps läuft auf einem Windows Phone 8.1 Gerät, gut, obwohl die Codesharing Strategie für Plattform-spezifischen Code viel besser auf Windows Phone 8.1 ist, weil Sie universal apps Zielen können die rund 90 Prozent der API mit Windows Store apps teilen. Für ein typisches Spiel jedoch muss diese Codesharing nicht viel Bedeutung, es sei denn, Sie plattformspezifischer Code schreiben.

Einmal haben Sie Ihre Lösung im Visual Studio, Verpacken es oben und senden wie bei jeder Windows Phone oder Windows Store-Anwendung ist es in den Laden. Ein Windows-Store-Entwickler-Account ist Voraussetzung; Sie zahlen Sie einmal und sie für das Leben. Die Vorlage Prozess wurde gecovert, viele Male zuvor, aber für einen schnellen Überblick finden Sie unter "Veröffentlichen to the Windows Store" (bit.ly/Za0Jlx), "Veröffentlichen to the Windows Phone Store" (bit.ly/1rdDCwR) und "Warum und wie zu Port Ihre Einheit Spiel für Windows und Windows Phone" (bit.ly/1ElzrcL).

Player-Einstellungen ich diskutiert der grundlegende Prozess des Gebäudes von der Einheit zu Windows, aber nicht schauen, wie Sie Symbole festlegen können, splash Screens, die app-Namen und andere erforderlich Elemente. Dies alles finden Sie in der Player-Einstellungen, die aus dem Buildeinstellungen-Bildschirm geladen wird und können Sie alle wichtigen Einstellungen für Windows-Speicher und Windows Phone-Anwendungen zu konfigurieren, wie in dargestellt Abbildung 8. Sie können den Splash-Screen, app-Namen, Verlag, Kompilierungseinstellungen, Symbole, app-Funktionen wie Ortungsdienste und ein paar andere Einstellungen angeben. Diese Einstellungen erhalten auf Ihre Visual Studio -Lösung die erste Zeit eingeengt, Ihre Lösung von der Einheit zu bauen.

Player-Einstellungen für Windows-Speicher
Abbildung 8-Player-Einstellungen für Windows-Speicher

App Icons einheitliche bietet einige Standard-Icons für Ihre Anwendung, so dass es im Visual Studiobauen. Sie müssen diese Standard-Icons ändern oder riskieren Zertifizierung. Einheit macht es ziemlich leicht zu sehen, welche Bilder Sie können legen Sie für Ihr Projekt, sondern beziehen sich auf die Bescheinigungen für jede Plattform um zu bestimmen, welche Bilder erforderlich sind. Es ist unerlässlich, dass Sie Ihre visuelle Elemente in der Package.appxmanifest-Datei im Visual Studio (für Windows Store und universal apps) überprüfen, wie Einheit einige Standardbilder eingerichtet haben, die Sie durch Ihr eigenes ersetzen willst und müssen entfernt werden.

Mindestens Windows Store apps erfordern ein 50 x 50-Shop-Logo, ein 150 x 150-Quadratmeter-Logo, ein Quadrat 30 x 30-Logo und einen 620 x 300-Splash-Screen, wie beschrieben im Windows Dev Center (bit.ly/1vIJsue). Windows Phone 8 apps benötigen die app-Liste-Bild und ein Bild für die kleinen und mittleren Standard-Fliesen für den Start-Bildschirm, wie beschrieben im Windows Dev Center (bit.ly/1oKo8Ro). 8.1 Windows Phone apps erfordern, dass die app-Liste-Bild und die standardmäßig Bilder, sowie Fliesen. Die Shops (die mit Windows 10 Vereinheitlichung werden sollen) können einige andere Bilder während der Unterordnung, wie Screenshots verlangen.

Wenn Sie nur ein einzelnes Bild zum Start Bildschirm Fliesen bieten wollen, sollten Sie das Bild skaliert auf 240 Prozent für Windows Phone Store apps und 180 Prozent für Windows Store apps nach Windows Dev Center bereitstellen (bit.ly/1nzWber).

Übrigens, vor einer Weile schrieb ich, dass ein No-Frills Dienstprogramm zum helfen generieren für Windows Store apps Bilder. Check it out auf bit.ly/ImageProcessor.

Umbauten und überschreiben daran erinnern, dass die Einheit nur Ihrem Datenordner im Visual Studio -Projekt überschrieben (siehe Abbildung 9). Dies ist ein zweischneidiges Schwert. Sie können den Splash-Screen, Symbole, usw. jederzeit in der Einheit (und empfehle dabei), aber wenn Sie bereits Ihre Visual Studio -Projektmappe generiert haben, wird die Package.appxmanifest-Datei enthält diese Einstellungen nicht überschrieben das nächste Mal, das Sie, von der Einheit erstellen. Du musst die visuelle Elemente, Funktionen und so weiter in der Projektmappe Visual Studio in der Package.appxmanifest-Datei manuell einstellen; oder erstellen Sie einen neuen Ordner und Diff die Ordner-Struktur mit einem Diff-Tool wie BeyondCompare; oder löschen Sie Ihre Visual Studio -Lösung, wenn Sie keine benutzerdefinierten Code drin und Einheit regenerieren zu lassen. Ich wähle in der Regel die dritte Option, weil ich meine Symbol und Splash Bildschirm Bilder im inneren Einheit konfiguriert immer. Ich muss nur daran denken, in meine benutzerdefinierte live Tile-Bilder in meine Visual Studio -Lösung zu bringen. Wenn Sie für Windows Phone 8 (aber nicht 8.1) erstellen, muss das Symbol trotzdem in Visual Studio festgelegt werden; Das ist eines der wenigen Dinge, die von der Einheit aufgeschoben ist nicht.

der Datenordner in einem Projekt Visual Studio
Abbildung 9 der Datenordner in einem Projekt Visual Studio

Zusammenfassung

Der Build-Prozess ist sehr einfach. Buildeinstellungen zu bringen Sie, klicken Sie auf erstellen, öffnen Sie Lösung, bereitstellen. Ich zeigte Optionen zum Anpassen der Builds über Plug-ins und Präprozessor-Direktiven. Da Sie plattformspezifischer Code außerhalb Mono aufrufen können, müssen Sie einige macht an Ihren Fingerspitzen. Don' t Forget, check out prime31.com für Einheit-Plug-ins, die für die Windows-Plattform derzeit frei sind. Sie können Sie leicht Plattformfeatures mit nur wenigen Codezeilen integrieren. Halten Sie ein Auge auf Channel 9 für einige neue Trainings-Inhalte für mundgerechte-Einheit (denken 10-Minuten-Videos) und auf meinem Channel 9-Blog für viele Mini-Tipps für den Aufbau Spiele für die Plattform. Bis zum nächsten Mal!

Zusätzliche lernen


Adam Tuliper ist ein senior technical Evangelist mit Microsoft Leben im sonnigen Südkalifornien. Er ist ein Indie-game Dev, co-Admin des Orange County Einheit Meetup und Verfasser von Pluralsight. Er und seine Frau sind zu begrüßen ihr dritte Kind, also erreichen, um ihn, während er hat noch eine freie Minute am adamt@microsoft.com oder auf Twitter bei twitter.com/AdamTuliper.

Dank der folgenden technischen Experten von der Einheit für die Überprüfung dieses Artikels: Tomas Dirvanauskas, Ignas Ziberkas und Tautvydas Žilys