jstilemap

___ answer29578393 ___

Ich habe in der Vergangenheit einen segmentierten Kartenansatz verwendet. Dies funktioniert für Side-Scroll-Karten, wo Sie einfach ein weiteres Stück auf die Seite hinzufügen. Es funktioniert auch für größere Karten, wo Seiten-, Unter- oder Oberteile benötigt werden.

Ein zusätzlicher Vorteil bei der Verwendung dieses Ansatzes ist die Möglichkeit, falls gewünscht, Ihre Kartenabschnitte nach dem Zufallsprinzip zu sortieren, wenn eine neue Karte geladen wird. Dies eliminiert die "gleiche alte Karte" für eine bestimmte Ebene.

Für das Codebeispiel unten verwende ich identische Kartenabschnitte mit einer Breite von 1280 nebeneinander. Hier sind die Schritte:

Erstellen Sie identische Kartenabschnitte in der Tiled-App. Geben Sie jedem Kartenabschnitt einen eindeutigen Namen, der mit einer Zahl endet. Etwas wie dieses: MyMap-0, MyMap-1, MyMap-2 und so weiter.

Erstellen Sie ein veränderbares Array, das Ihre Kartenabschnitte enthält. Nennen wir es %code% .

Erstellen Sie ein Float-Ivar namens %code% und setzen Sie seinen Anfangswert auf Null.

Wenn Sie eine statische Karte mit 10 Abschnitten erstellen möchten, verwenden Sie diesen Code:

%Vor%

Wenn Sie eine zufällige Karte mit 10 Abschnitten erstellen möchten, verwenden Sie diesen Code:

%Vor%

Um Elemente in der Objekt-Ebene einer Karte zu laden, können Sie Folgendes tun:

%Vor%

In der Update-Methode können Sie ausgewählte Kartenabschnitte basierend auf der Position Ihres Players wie folgt hinzufügen oder entfernen:

%Vor%

Abhängig von der Position des Spielers wird ein Kartenausschnitt entweder entfernt oder dem übergeordneten worldNode hinzugefügt.

Eine weitere Optimierung besteht darin, auch Objekte mit physischen Körpern zu entfernen, wenn sie nicht sichtbar sind. Dies ist möglicherweise nicht möglich, je nach Design und Logik deines Spiels.

Sie können dies in der Update-Methode behandeln:

%Vor%     
___ qstntxt ___

Hat es jemand geschafft, nur die sichtbaren Kacheln mit JSTilemap zu laden? Der Grund, den ich stelle, ist, weil meine Kartengröße viel zu groß ist, um auf einmal geladen zu werden, und ich möchte entweder Segmente einzeln laden oder nur die aktuell auf dem Bildschirm sichtbaren Kacheln dynamisch laden.

Ich möchte KoboldKit nicht benutzen.

Bearbeiten: Spannendes Update. Steffan und Marcus arbeiten an einem großartigen Toolkit bei TilemapKit.com. Ich kann es kaum erwarten, Geld auf ihre Art zu werfen.

    
___ tag123gameengine ___ Eine Game-Engine ist ein Software-Framework, das bei der Entwicklung von Videospielen verwendet wird. TAG-VERWENDUNG ANMERKUNG: Verwenden Sie dieses Tag nur, wenn Sie ein Game Engine-Framework erstellen oder ändern oder wenn die von Ihnen verwendete Game-Engine noch kein eigenes Tag in StackOverflow hat. Ansonsten verwenden Sie die Engine-spezifischen Tags. ___ answer23557711 ___

Dies wurde zuvor gemacht. Sehen Sie hier, wie Sie JSTileMap dazu bringen, das zu tun, was Sie fragen.

Ссылка

Hoffe das hilft!

Nach einiger Zeit aktualisieren: Erste Untersuchungen haben ergeben, dass dies möglicherweise nicht der richtige Weg ist, damit spriteKit Optimierungen für Sie vornehmen kann. Sehen Sie diese kleine Diskussion: Ссылка

    
___ tag123jstiemap ___ hilf uns dieses Wiki zu bearbeiten ___ tag123spritekit ___ SpriteKit ist Apples Framework für die Erstellung von 2D-Spielen für iOS 7+ und macOS 10.9+. Es ist eine 2D-Rendering-Engine in Kombination mit einer Physik-Engine. Es ist kompatibel mit Objective-C und Swift. ___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind. ___ qstnhdr ___ JSTilemap - Laden nur sichtbarer Kacheln ___
2
Antworten

JSTilemap - Laden nur sichtbarer Kacheln

Hat es jemand geschafft, nur die sichtbaren Kacheln mit JSTilemap zu laden? Der Grund, den ich stelle, ist, weil meine Kartengröße viel zu groß ist, um auf einmal geladen zu werden, und ich möchte entweder Segmente einzeln laden oder nur die akt...
04.05.2014, 21:06