Detaillierte Erläuterung des CocosCreator-Projektstrukturmechanismus

Detaillierte Erläuterung des CocosCreator-Projektstrukturmechanismus

1. Projektordnerstruktur

Nach dem ersten Erstellen und Öffnen eines Cocos Creator-Projekts weist der Projektordner des Entwicklers die folgende Struktur auf:

Nachfolgend stellen wir die Funktion jedes Ordners vor.

1. Assets-Ordner

Assets werden verwendet, um alle lokalen Ressourcen, Skripte und Bibliotheksdateien von Drittanbietern im Spiel zu speichern. Im Ressourcenmanager können nur die Inhalte des Assets-Verzeichnisses angezeigt werden. Nachdem jede Datei in den Assets in das Projekt importiert wurde, wird eine .meta-Datei mit demselben Namen generiert, um die entsprechenden Ressourcenkonfigurations- und Indexinformationen zu speichern. Die .meta-Datei muss an das Versionskontrollsystem übermittelt werden. Weitere Informationen finden Sie unter Hinweise zur Ressourcenverwaltung – Metadatei.

Einige von Drittanbieter-Tools generierte Originaldateien aus den Bereichen Konstruktion oder Design, wie etwa die .tps-Dateien von TexturePacker oder die .psd-Dateien von Photoshop, können außerhalb von Assets verwaltet werden.

2. Bibliothek

Die Bibliothek wird nach dem Importieren der Ressourcen in Assets generiert. Dabei werden die Dateistruktur und das Ressourcenformat in die für die endgültige Veröffentlichung des Spiels erforderliche Form gebracht. Wenn die Bibliothek verloren geht oder beschädigt wird, löschen Sie einfach den gesamten Bibliotheksordner und öffnen Sie dann das Projekt, um die Ressourcenbibliothek neu zu generieren.

3. Lokale Einstellungen (lokal)

Der lokale Ordner enthält die Konfigurationsinformationen für das Projekt auf dem lokalen Computer, einschließlich Editor-Panel-Layout, Fenstergröße, Position und andere Informationen. Um die Inhalte müssen sich Entwickler hier keine Gedanken machen.

4. Erweiterungs-Plugin-Ordner (Pakete)

Der Ordner „Pakete“ wird verwendet, um benutzerdefinierte Erweiterungs-Plugins für dieses Projekt zu platzieren. Wenn Sie die Erweiterung manuell installieren müssen, können Sie diesen Ordner manuell erstellen. Um eine Erweiterung zu deinstallieren, löschen Sie einfach den entsprechenden Ordner in den Paketen.

5. Projekteinstellungen

Unter „Einstellungen“ werden projektbezogene Einstellungen wie Paketname, Szene und Plattformauswahl im Build- und Release-Menü gespeichert.

6. Temporärer Ordner (temp)

temp ist ein temporärer Ordner, der zum lokalen Zwischenspeichern einiger temporärer Dateien von Cocos Creator verwendet wird. Dieser Ordner kann nach dem Schließen von Cocos Creator manuell gelöscht werden und Entwickler müssen sich nicht um den darin enthaltenen Inhalt kümmern.

7.projekt.json

Die Datei project.json und der Ordner „assets“ dienen als Zeichen zur Überprüfung der Legitimität des Cocos Creator-Projekts. Nur Ordner, die diese beiden Inhalte enthalten, können als Cocos Creator-Projekte geöffnet werden. Um die Inhalte müssen sich die Entwickler nicht kümmern.

8. Ziel erstellen

Nachdem Sie das Projekt über den Standard-Veröffentlichungspfad im Hauptmenü unter „Projekt“ -> „Erstellen und freigeben …“ veröffentlicht haben, erstellt der Editor unter dem Projektpfad ein Build-Verzeichnis und speichert die Build-Projekte für alle Zielplattformen.

9. Versionskontrolle

Beim Erstellen eines neuen Projekts generiert Cocos Creator automatisch eine .gitignore-Datei, um Dateien auszuschließen, die nicht an das Git-Repository übermittelt werden sollen. Wenn Entwickler andere Versionskontrollsysteme verwenden oder Projekte an anderen Orten einreichen müssen, sollten sie beachten, dass sie nur Assets, Pakete, Einstellungen, project.json oder andere manuell hinzugefügte zugehörige Dateien einreichen müssen.

2. Hinweise zur Ressourcenverwaltung --- Metadateien

Das Verständnis der Rolle und des Mechanismus der vom Creator generierten Metadateien kann Ihnen und Ihrem Team dabei helfen, Probleme wie Ressourcenkonflikte, Dateiverlust, Verlust von Komponentenattributen usw. zu lösen, die bei der Entwicklung durch mehrere Personen häufig auftreten. Wofür wird die Metadatei verwendet? Werfen wir unten einen Blick darauf.

1. Die Rolle von Metadateien

Schauen wir uns zunächst an, wie die Metadatei in der Szene aussieht:

Die Metadatei für ein Prefab ist dieselbe wie die Szene. Die Metadatei eines PNG-Bildes enthält viele Informationen. Neben den grundlegenden Ver- und UUID-Daten werden darin auch die Breite, Höhe, der Versatz, das Neun-Raster-Layout und andere Daten des Bildes aufgezeichnet. Oben gibt es so viele Informationen, aber hier interessiert uns nur eine: die UUID. uuid: Der Universally Unique Identifier (UUID) wird vom Creator zur Verwaltung der Spielressourcen verwendet. Jeder Datei wird eine eindeutige ID zugewiesen und der Atlas generiert mehrere IDs. Daraus können wir schließen, dass in der Creator-Engine das Identifizieren einer Datei nicht einfach darin besteht, sie über Pfad + Dateinamen zu lokalisieren, sondern dass die Datei über die UUID referenziert wird. Daher können Sie in der Ressourcenverwaltung des Editors Dateien beliebig löschen und verschieben.

2. Zeitpunkt der Aktualisierung der Metadatei

Creator generiert Metadateien in den folgenden Situationen:

1. Beim Öffnen eines Projekts durchsucht Creator zunächst das Assets-Verzeichnis. Wenn für eine Datei keine Metadatei vorhanden ist, wird sie zu diesem Zeitpunkt generiert.

2. Beim Aktualisieren von Ressourcen wird durch das Aktualisieren von Ressourcen auch die Aktualisierung von Metadateien ausgelöst:

Im Ressourcenmanager können Sie den Ressourcendateinamen ändern, das Verzeichnis ändern, Dateien löschen, Dateien hinzufügen usw. Weitere Informationen finden Sie im Ressourcenmanager. Sie können Dateien auch direkt vom Desktop oder dem Dateimanager des Betriebssystems in den Explorer ziehen. Eine andere Situation ist, dass Sie nach dem Hinzufügen, Löschen oder Ändern von Dateien im Assets-Verzeichnis im Dateimanager des Betriebssystems zur Editoroberfläche wechseln und den Aktualisierungsprozess des Ressourcenmanagers sehen können. Wenn die Metadatei einer Datei nicht vorhanden ist, lösen die beiden oben genannten Situationen aus, dass die Engine die Metadatei generiert.

3. Mehrere Situationen, in denen Metadateien fehlschlagen können und wie man sie löst. Im Folgenden analysieren wir mehrere mögliche Situationen, in denen Metadateien fehlschlagen können. UUID-Konflikt UUID ist global eindeutig. Ein Konflikt muss auftreten, wenn verschiedene Dateien dieselbe UUID haben. Sobald dieses Problem auftritt, wird die Verzeichnisstruktur des Cocos Creator-Ressourcenmanagers nicht vollständig geladen. Wie die folgende Abbildung zeigt, werden Sie bei dieser Situation wahrscheinlich in kalten Schweiß ausbrechen:

Sie können die in Konflikt stehende UUID-Zeichenfolge in der Eingabeaufforderung sehen. Öffnen Sie dann die Dateiverwaltung oder den Code-Editor des Betriebssystems und suchen Sie nach dieser UUID:

Schließen Sie zu diesem Zeitpunkt zunächst den Creator-Editor, löschen Sie dann nach dem Zufallsprinzip eine der Metadateien und öffnen Sie anschließend den Creator-Editor erneut, um das Problem zu beheben. Obwohl dieses Verfahren das Problem lösen kann, geht die Ressource an der Stelle verloren, an der im Editor darauf verwiesen wird, und sie muss erneut bearbeitet oder neu konfiguriert werden. Am besten stellen Sie diese Metadatei über Ihr Versionskontrolltool wieder her. Für dieses Problem gibt es in der Regel zwei Ursachen: Beim Verschieben von Dateien im Dateimanager des Betriebssystems wird versehentlich statt Ausschneiden und Einfügen die Funktion Kopieren und Einfügen verwendet und dabei wird auch die Metadatei mitkopiert. Dies führt dazu, dass zwei identische Metadateien gleichzeitig im Projekt erscheinen. Bei der Zusammenarbeit mit mehreren Personen kommt es beim Aktualisieren von Ressourcen im Versionsverwaltungstool vor, dass die von anderen generierte UUID mit der von einer Datei auf Ihrem Computer generierten UUID übereinstimmt. Diese Situation ist jedoch sehr, sehr selten. Um das Auftreten von UUID-Konflikten zu reduzieren, empfiehlt es sich im Allgemeinen, Dateien im Tool zur Engine-Ressourcenverwaltung hinzuzufügen und zu verschieben.

3. UUID-Änderungen

Eine andere Situation ist, dass sich die UUID geändert hat, sodass es unmöglich ist, die Ressourcen zu finden, die der alten UUID entsprechen. In diesem Fall gehen in der von Ihnen bearbeiteten Schnittstelle Ressourcen und Bilder verloren, und möglicherweise gehen auch Komponentenattribute verloren.

Wenn die der alten UUID entsprechende Ressource nicht gefunden werden kann, können Sie über die Konsole sehen, dass Creator sehr detaillierte Warninformationen wie den Szenendateinamen, den Knotenpfad, die Komponente, die UUID usw. ausgibt. Warnmeldungen können Ihnen helfen, Fehler schnell zu lokalisieren. Wie kam es zu dieser Situation? Wenn jemand dem Projekt neue Ressourcen hinzufügt, vergisst er, zur Editoroberfläche zu wechseln, um die Metadatei zu generieren, und übermittelt diese neu hinzugefügten Dateien (mit Ausnahme der Metadatei) an die Versionskontrolle. Anschließend aktualisiert eine andere Person die von ihr übermittelte Ressource und wechselt zur Bearbeitungsoberfläche. Zu diesem Zeitpunkt überprüft Creator, dass die neue Ressource keine Metadatei enthält, und generiert diese sofort. Wenn die erste Person zum Editor wechselt, wird ebenfalls eine Metadatei generiert. Auf diese Weise wird auf den Computern beider Personen dieselbe Datei angezeigt, aber die UUIDs in den generierten Metadateien sind unterschiedlich. In diesem Fall werden Personen, die später Ressourcen übermitteln oder aktualisieren, definitiv auf Konflikte stoßen. Wenn sie versuchen, die Konflikte gewaltsam zu lösen, ohne die Gründe zu kennen, treten die oben genannten Probleme auf. Das folgende Sequenzdiagramm beschreibt den Arbeitsablauf dieses Fehlers:

Da der erste Student A vergessen hatte, die Metadatei zu generieren und einzureichen, bearbeiteten andere Personen das Projekt anschließend, aber die von jeder Person generierte UUID war unterschiedlich, was zu unendlichen Ressourcenfehlern führen würde. Die bearbeiteten Dinge würden erneut in Konflikt geraten, sobald sie zur Aktualisierung eingereicht wurden.

Um dieses Problem zu lösen, beachten Sie die folgenden Punkte: l Überprüfen Sie vor dem Senden, ob neue Dateien vorhanden sind. Wenn neue Dateien vorhanden sind, achten Sie darauf, ob Metadateien vorhanden sind, die zusammen gesendet werden müssen. l Achten Sie beim Abrufen von Dateien darauf, ob neue Dateien vorhanden sind und ob diese mit Metadateien gepaart sind. Wenn nicht, erinnern Sie die Studierenden, die die Dateien zuvor gesendet haben, daran, die Metadateien zusammen zu senden. l Wenn Sie beim Senden feststellen, dass nur eine neue Metadatei vorhanden ist, muss diese Metadatei von Ihnen selbst erstellt worden sein, und Sie müssen darauf achten, ob die dieser Metadatei entsprechenden Ressourcen (Datei mit demselben Namen) verwendet wurden. Wenn sie nicht verwendet wurde, bitten Sie den ersten Committer, die Metadatei einzureichen. Senden Sie diese Metadatei niemals. Durch die Beachtung der oben genannten Punkte können Konstruktionsfehler durch Änderungen der Metadatei-UUID grundsätzlich vermieden werden.

Zusammenfassung: Metadateien sind für Creator ein wichtiges Mittel zur Verwaltung von Ressourcen. Wenn Sie bei der gemeinsamen Entwicklung jedoch nicht vorsichtig sind, können leicht Ressourcenfehler auftreten. Um dieses Problem zu lösen, müssen wir nicht nur den Mechanismus zur Generierung von Metadateien und die Ursachen von Konflikten verstehen, sondern auch den Prozess der Ressourcenübermittlung standardisieren.

Oben finden Sie eine ausführliche Erläuterung des CocosCreator-Projektstrukturmechanismus. Weitere Informationen zum CocosCreator-Projektstrukturmechanismus finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des Cocoscreater-Prefabs
  • So verwenden Sie residente Knoten für die Ebenenverwaltung in CocosCreator
  • So verwenden Sie CocosCreator zur Tonverarbeitung bei der Spieleentwicklung
  • CocosCreator ScrollView-Optimierungsreihe: Frame-Laden
  • So verwenden Sie den CocosCreator-Objektpool
  • So zeigen Sie in CocosCreator eine Textur an der Wischposition an
  • Organisieren Sie die allgemeinen Wissenspunkte von CocosCreator
  • Umfassende Erklärung zum CocosCreator Hot Update
  • CocosCreator klassisches Einstiegsprojekt flappybird
  • CocosCreator Universal Framework Design Network
  • So verwenden Sie CocosCreator zum Erstellen eines Schießspiels
  • So verwenden Sie einen Gamecontroller in CocosCreator

<<:  Analyse und Lösung des beim Start von MySQL gemeldeten Fehlers „ERROR:2002“

>>:  So stellen Sie mit Nginx mehrere Vue-Projekte unter demselben Domänennamen bereit und verwenden einen Reverse-Proxy

Artikel empfehlen

Detaillierte Erklärung der Verwendung des MySQL-Paradigmas

1. Paradigma Der englische Name des Paradigmas la...

MySQL-Implementierung des Funktionsbeispiels „lastInfdexOf“

Manchmal muss MySQL eine Funktion ähnlich zu last...

Tutorial zum binären Suchbaumalgorithmus für JavaScript-Anfänger

Inhaltsverzeichnis Was ist ein binärer Suchbaum (...

Lernen Sie, benutzerdefinierte Hooks in React zu erstellen

1. Was sind benutzerdefinierte Hooks Wiederverwen...

So verwenden Sie das Vue-Router-Routing

Inhaltsverzeichnis 1. Beschreibung 2. Installatio...

Erfahrungsaustausch zur MySQL-Slave-Wartung

Vorwort: Die MySQL-Master-Slave-Architektur dürft...

Tutorial zur Installation von mysql5.7.17 über yum auf redhat7

Die Linux-Betriebssysteme der RHEL/CentOS-Reihe v...

Zeichnen Sie ein iPhone basierend auf CSS3

Ergebnis:Implementierungscode html <div Klasse...

JavaScript zum Erzielen eines benutzerdefinierten Bildlaufleisteneffekts

In tatsächlichen Projekten befinden sich die Bild...