Ich registrierte einen screencast, um Ihnen einen ersten Eindruck der gegenwärtigen Alpha-Version von Kobold2D zu geben. Ich werde Ihnen zeigen, was ist, ist, was es (bis jetzt) einschließt, und wie es den cocos2d Entwicklungsprozess verbessert.
Seit der Aufnahme des screencast habe ich das Kritzelei-Fall-Projekt aus dem Buch als ein EIN/AUSGABE-STEUERSYSTEM-Spielschablone-Projekt hinzugefügt. Ich fügte auch die Box2D-& Backenhörnchen-Physik-Projekte aus dem Buch hinzu und verbesserte sie, um sowohl am EIN/AUSGABE-STEUERSYSTEM als auch an Mac OS X zu arbeiten.
Aktualisierung
Hier ist ein Screenshot, die gegenwärtige Liste von Schablone-Projekten (Hallo Kobold2D, Hallo Cocos3D, Hallo Cocos2D-X, Physik Box2D, Physik-Backenhörnchen, Physik-Backenhörnchen SpaceManager, Kritzelei-Fall) und das Kritzelei-Fall-Schablone-Laufen zeigend:
Kobold2D: Cocos3D Projektschablone
Heute vollendete ich den ersten Entwurf des Kobold2D Kapitels, das in der zweiten Ausgabe des Erfahrens des Cocos2D Buches sein wird. In diesem Kapitel gebe ich Ihnen auch eine Einführung in cocos3d, die offizielle 3. Erweiterungsbibliothek für cocos2d. Ich trug cocos3d's Xcode Projektschablone zu Kobold2D und gewürzt es ein wenig mit einigen cocos2d Knoten im Rücken - und Vordergrund: I ported cocos3d’s Xcode project template to Kobold2D and spiced it up a little with some cocos2d nodes in the back- and foreground:
Bemerken Sie die "eingehende" Verbindungsnetzwarnung. Das wird von der iSimulate Bibliothek verursacht, die mit Kobold2D verteilt und standardmäßig für den Simulator aktiviert wird, baut. Sie müssen noch den iSimulate App kaufen, um daraus einen Nutzen zu ziehen dennoch. Wenn Sie nicht tun, können Sie auch beschließen, den Dialog zu ignorieren oder einfach iSimulate unbrauchbar zu machen, indem Sie eine Linie in der BuildSettings-iOS.xcconfig Datei des Projektes kommentieren. You still need to buy the iSimulate App to benefit from it though. If you don’t you can also choose to ignore the dialog or simply disable iSimulate by commenting out a line in the project’s BuildSettings-iOS.xcconfig file.
Ich habe auch großen Spaß mit der vermehrten Wirklichkeitsauswahl gehabt, die der cocos3d CCNodeController Klasse zur Verfügung stellt. Und es aufstellend, ist eine Linie des Codes. Hier ist die "Kamera als lebende" Hintergrunddemo in der Handlung: Here’s the “camera as live background” demo in action:
Da ein Bild es Justiz nicht wirklich tut, ist hier ein Video:
Zugegebenermaßen konnte es ein wenig schneller auf meinem I-Phone 3G laufen. Es wird ziemlich besteuert und Durchschnitte ungefähr 20 fps mit der Kamerahintergrundansicht und Übergabe eines 3. Modells. Meine IPod-Berührung 4 Durchschnitte um 40 fps und fühlt es sich viel glatter. My iPod Touch 4 averages at around 40 fps and it feels a lot smoother.
Kobold2D Todo Liste
Einer der größten Sachen auf meiner Todo-Liste für Kobold2D soll die Website entwerfen und die "Ankunft bald" Seite loswerden. Das schließt Aufstellung des wiki und Füllung davon mit dem Inhalt, Dokumentation größtenteils ein. Und so, 150 $ jeden Monat bezahlend, weil ich keine Alternative zum Verwenden des Zusammenflusses sehe. Ich will daran Freude haben, an der Dokumentation zu arbeiten, und ich will, dass Sie daran Freude haben, sie zu durchsuchen und zu lesen. And, well, paying $150 each month because I don’t see any alternative to using Confluence. I want to enjoy working on documentation, and I want you to enjoy browsing and reading it.
Ich will auch mehr Schablone-Projekte schaffen. Zurzeit, wie Sie im ersten Screenshot sehen können, gibt es Hallo Kobold2D (iOS & Mac), Hallo Cocos3D (EIN/AUSGABE-STEUERSYSTEM) und Hallo Cocos2D-X (EIN/AUSGABE-STEUERSYSTEM). Ich will noch zwei Schablonen, ein für das Backenhörnchen mit SpaceManager (iOS & Mac) und ein für Box2D (iOS & Mac) hinzufügen. Ich will auch die Projekte aus meinem Buch als Projektschablonen, nämlich Kritzelei-Fall, der Schuss Spiel, das Orthogonale und die Isometrischen Tilemap-Projekte, und der Cocos2D Mit dem UIKit-Projekt (das ganze EIN/AUSGABE-STEUERSYSTEM) hinzufügen. I want to add two more templates, one for Chipmunk with SpaceManager (iOS & Mac) and one for Box2D (iOS & Mac). I also want to add the projects from my book as project templates, namely Doodle Drop, the Shoot ‘em Up game, the Orthogonal and the Isometric Tilemap projects, and the Cocos2D With UIKit project (all iOS).
Wenn auch Kobold2D Xcode 4 Projektschablonen nicht haben wird, will ich Ihnen noch einen schnellen und leichten Weg Anfang ein neues auf eines der Schablone-Projekte basiertes Projekt geben. Bemerken Sie die Unterscheidung zwischen der "Projektschablone" (diejenigen im Neuen Projektdialog von Xcode) und "dem Schablone-Projekt" (ein Stammkunde, bereits vorhandenes Projekt). Ich fing an, ein Werkzeug zu schreiben, das erlaubt, planen Sie, um eine Kopie einer vorhandenen Kobold2D Schablone zu schaffen, und benennen es um, so dass der Arbeitsablauf ebenso günstig ist wie das Tun davon innerhalb von Xcode. Es arbeitet für die spezifische Schablone, mit der ich es prüfte, aber ich muss noch die Benutzerschnittstelle entwerfen und den Code ausfallsicher machen. I started writing a tool that allows you to create a copy of an existing Kobold2D template project and rename it, so that the workflow is just as convenient as doing it within Xcode. It works for the specific template I tested it with, but I still have to design the user interface and make the code fail-safe.
Im Falle dass Sie sich fragen, warum Kobold2D Xcode-Projektschablonen nicht haben wird: Sie sind nicht fast ebenso stark, wie sie würden sein müssen. Und sie sind ein Schmerz in der Hinterseite, um zu schaffen und ohne etwas Werkzeug-Unterstützung aufrechtzuerhalten. Aber schlechtest unter allen haben Sie keine Weise, Dateien in einen Xcode 4 Projektschablone einzuschließen, die zum Projektnavigator nicht hinzugefügt werden muss. Wie, zum Beispiel.xcodeproj Dateien. And they’re a pain in the rear to create and maintain without some tool support. But worst of all, you have no way of including files in an Xcode 4 project template that must not be added to the Project Navigator. Like, for example, .xcodeproj files.
Kobold2D ist gut und lebendig. Wirklich so viel, so dass ich dachte: "He ist es verrückt, aber vielleicht nicht … werde ich ihm einen Schuss geben und sehen, wie weit ich komme." “Hey, it’s crazy, but maybe not … I’ll give it a shot and see how far I get.”
Der Gedanke sollte versuchen und den cocos2d-x Motor (cocos2d in C ++) zusammen mit dem Hallo Weltbeispiel-Projekt zum Kobold2D Arbeitsraum hinzufügen. Das Ergebnis: Man brauchte ungefähr 90 Minuten, der grösste Teil davon, das richtige ausrechnend, baut Einstellungen und Kopfball-Suchwege. Und es arbeitete gerade. it took about 90 minutes, most of that figuring out the correct build settings and header search paths. And it just worked.
Überraschung!
In diesem Augenblick ist das gerade die EIN/AUSGABE-STEUERSYSTEM-Version. Ein cocos2d-x Mac Projekt wird hinzugefügt, sobald die Mac Plattform durch cocos2d-x offiziell unterstützt wird (oder es bereits und ich das verpasste?). Dann würden Entwickler die Wahl zwischen dem Verwenden entweder Ziel-C oder C ++ als die primäre Sprache haben, um ihren iOS & Mac OS X Spiele zu entwickeln. ). Then developers would have the choice between using either Objective-C or C++ as the primary language for developing their iOS & Mac OS X games.
Es ließ mich auch denken: "He gibt es diese andere offene Quelle 2. Spielmotor … hmmm."
”
Kobold2D: NextGen Cocos2D
Aufrüstung des Cocos2d-I-Phones ist ein wiederkehrendes Problem für viele Entwickler, aber da es so selten während des Lebenszyklus eines Projektes geschieht, gibt es gerade keine Routine, um zu folgen. Schließlich könnten Sie Cocos2d-I-Phone befördern wollen, so entsteht die Frage: guten Tag das mit kleinstem Betrag von Schwierigkeiten? how do you do that with the least amount of trouble?
Da ich den Prozess durchgehe, mehr als 70 (!) Xcode-Projekte für die zweite Revision von meinem zu aktualisieren, Erfährst Cocos2D-Buch, dachte ich, dass ich die Schritte entwerfen sollte, einen vorhandenen Xcode 3 Projekt zu befördern, das Cocos2d-I-Phone v0.99.x zu einem Xcode 4 Projekt verwendet, das Cocos2d-I-Phone v1.0.x verwendet.
Vorbedingungen:
SoftwareaktualisierungOffensichtlich wollen Sie die letzte Cocos2d-I-Phone-Version herunterladen und sie zu jedem Verzeichnis aufmachen. Erinnern Sie sich gerade, wo Sie es aufmachten, weil es ist, wovon Sie die neuen Bibliotheksmappen kopieren werden.
Sie wollen auch sicherstellen, dass Sie zu Xcode 4 inzwischen befördert haben, indem Sie das EIN/AUSGABE-STEUERSYSTEM 4.3 (oder später) SDK installieren, wenn Sie so bereits nicht getan haben.
Verwarnung: Stellen Sie Sicher, dass Xcode während der ersten Schritte geschlossen wird.
Schritt #1:
Löschen Sie befreit Mappe-InhaltIn der Mappe Ihres Projektes, in diesem Fall DoodleDrop03, wählen alle Mappen in aus befreit Mappe, und löschen Sie sie ohne Gnade:
Sie werden mit einem leeren enden befreit Mappe. Löschen Sie mit anderen Worten nicht befreit Mappe selbst, oder im Falle dass Sie taten, stellen Sie sicher, dass Sie erfrischen, befreit Mappe.
Verwarnung: Der Grund, warum ich alle Bibliotheken in lösche, befreit Mappe, anstatt einfach überzuschreiben, die Bibliotheken mit neuen ist einfach: Sie können annehmen, dass die aktualisierte Cocos2d-I-Phone-Version entfernt oder einige Dateien umbenannt hat. Durch das erste Löschen aller Bibliotheken können Sie überzeugt sein, dass keine "Zombie-Dateien" bestehen, die nicht mehr verwendet werden, aber noch kompiliert werden könnten, wenn Sie später die Bibliotheken wiederhinzufügen. Solche Zombie-Dateien würden den bauen Prozess schrauben und Fehler wie "Definierte Symbole des Duplikates" und andere solche Missgeschicke erzeugen. you can expect the updated cocos2d-iphone version to have removed or renamed some files. By first deleting all libraries you can be sure that no “zombie files” exist which are no longer used but might still be compiled when you later re-add the libraries. Such zombie files would screw up the build process and generate errors like “Duplicate defined symbols” and other such mishaps.
Schritt #2:
Kopieren Sie die BibliotheksmappenDas erste Ding, das Sie bemerken werden, wenn Sie das Befreien befördern wollen (Box2D, Backenhörnchen, cocos2d, CocosDenshion, cocoslive, FontLabel und TouchJSON) besteht darin, dass sie in verschiedenen Mappen im Cocos2d-I-Phone-Projekt sind, dass Sie heruntergeladen und aufgegangen haben.
Stellen Sie sicher, dass Sie genau die gleichen Mappen auswählen, die im Screenshot unten ausgewählt werden:
Dieser Unterschied im Mappe-Lay-Out kann ein bisschen verwirrend sein. Wessen Sie bewusst sein müssen, ist, dass der Box2D, das Backenhörnchen, FontLabel und die TouchJSON Mappen in der Außenmappe im Cocos2d-I-Phone-Projekt sind. Außerdem ist die Box2D Mappe, die Sie kopieren sollten, eine Submappe von Box2d. Bemerken Sie den Unterschied in der Kapitalisierung des Briefs D. Sie wollen die Mappe mit der Großschrift D kopieren: Box2D. Dasselbe geht für die CocosDenshion Mappe, Sie sollten die CocosDenshion Mappe innerhalb der CocosDenshion Mappe auswählen. Furthermore, the Box2D folder that you should copy is a subfolder of Box2d. Note the difference in capitalization of the letter D. You want to copy the folder with the uppercase D: Box2D. The same goes for the CocosDenshion folder, you should select the CocosDenshion folder inside the CocosDenshion folder.
Verwarnung: Stellen Sie Sicher, dass Sie die Box2D Prüfstand-Mappe nicht auswählen - wenn Sie tun und das ebenso kopieren, könnte Xcode 4 das Bauen des Projektes abschließen, das Verbrauchen der 100-%-Zentraleinheitsmacht und Verlangen einer Kraft verlassen, es zu schließen.
Bemerken Sie: Wenn Sie nur Backenhörnchen oder Box2D Physik, oder keinen von ihnen verwenden, können Sie das Kopieren dieser Mappen natürlich auslassen.
Um die Kopie opertation zu vollenden, gehen Sie zu befreit Mappe, und kleben Sie die kopierten Bibliotheksmappen auf, so dass Sie mit enden, befreit Mappe, die genau dem Image im Schritt #1 ähnlich ist.
Tipp: Wenn Sie Schinderei und Fall bevorzugen, können Sie gerade schleifen die ausgewählten Mappen von einem Fenster Finder bis einen anderen auf Ihr Projekt befreit Mappe. Das kann leichter sein zu tun, aber Sie sollten sich merken, den Auswahl-Schlüssel zu unterdrücken, indem Sie fallen, so dass Sie wirklich die Mappen kopieren, anstatt sie zu bewegen. Die Kopie-Operation wird durch das Grün + Ikone unter dem Cursor angezeigt, wie Sie & Fall schleifen, indem Sie den Auswahl-Schlüssel halten. This may be easier to do but you should remember to hold down the Option key while dropping so that you actually copy the folders instead of moving them. The copy operation is indicated by the green + icon underneath the cursor as you drag & drop while holding the Option key.
Schritt #3:
Entfernen Sie BibliotheksverweisungenÖffnen Sie Ihr Projekt in Xcode 4 jetzt.
Wählen Sie alle Gruppen unter der cocos2d Quellgruppe aus und schlagen Sie Rücktaste, um diese Gruppen zu löschen (oder richtiger Klick und zu wählen Löschen). Sie werden mit einem Dialog wie im Screenshot unten veranlasst.
Stellen Sie sicher, dass Sie die Verzug-Auswahl auswählen, Entfernen Verweisungen, um Nur zu vermeiden, die neuen Bibliotheksmappen zu löschen, die Sie gerade kopierten:
Sobald Sie die Bibliotheksgruppen entfernt haben, sollte die cocos2d Quellgruppe völlig leer sein. Sie wurden gerade alle alten Verweisungen los, sich selbst von irgendwelchen potenziellen Kompilationsfehlern rettend, die durch Verweisungen auf Dateien verursacht sind, die mehr nicht bestehen können.
Schritt #4:
Fügen Sie Bibliotheksmappen hinzuAls nächstes wollen Sie Ihre Bibliotheksmappen wiederhinzufügen. Ausgesuchter und richtiger Klick die cocos2d Quellgruppe und ausgesucht Fügt Dateien zu "NameOfYourProject" … Hinzu:
Durchsuchen Sie ins Projekt befreit Mappe, und wählen Sie alle Bibliotheksmappen aus, die Sie in Ihrem Projekt brauchen.
Sie können bemerkt haben, dass mein Projekt keinen Physik-Motor verwendet, so entschied ich mich dafür, sie hier nicht hinzuzufügen. Wenn Sie wirklich Box2D in Ihrem Projekt verwenden, würden Sie auch Box2D natürlich auswählen wollen. Ebenfalls, wenn Sie Backenhörnchen verwenden. Likewise if you use Chipmunk.
Bemerken Sie: Während es nicht ein Problem ist hinzuzufügen, dass beide Physik-Motormappen, tuend so die Größe Ihres App vergrößern könnten.
Jetzt ist hier, wo Sie mit den Optionen sorgfältig sein müssen! Sie wollen sicherstellen, dass sie genau als im Screenshot unten gesetzt werden. Am wichtigsten, Dateien hinzufügend, wird Xcode im Verzug sein, um die Dateien zum Hauptziel des Projektes (in diesem Fall DoodleDrop) statt des cocos2d Bibliotheksziels hinzuzufügen. Most importantly, when adding files Xcode will default to add the files to the project’s main target (in this case DoodleDrop) instead of the cocos2d libraries target.
Stellen Sie sicher, dass nur das cocos2d Bibliotheksziel ausgewählt wird, um zu vermeiden, dass irgendwelcher Fehler baut:
Schritt #5:
Bauen Sie es!Sie sollten jetzt versuchen und das Projekt bauen. Wenn Sie Glück haben, wird es keine Fehler geben, und Sie können mit Ihrer Arbeit fortsetzen.
Aber am wahrscheinlichsten, abhängig von der Kompliziertheit Ihres Projektes und den mit dem Cocos2d-I-Phone vorgenommenen Änderungen, können Sie befestigen müssen irgendwelcher baut Fehler, die vorkommen. Die meisten von ihnen werden wahrscheinlich durch Klassen verursacht, die umbenannt worden sind oder Funktionen, die missbilligt worden sind. In diesem Fall werden Sie durch die API-Verweisung herausfinden und Zeichen veröffentlichen müssen, was die Änderungen sind, und wie man sie befestigt. In this case you’ll have to find out through the API Reference and release notes what the changes are and how to fix them.
Befestigen des "fehlenden Grund-SDK" Nachricht
Ein allgemeines Problem, das spezifisch zu älteren Projekten vorkommt, ist der "fehlende Grund-SDK" Fehler. Ich denke, dass es die Xcode Version war, die mit Mac OS X Schnee-Leopard eingeführt ist (veröffentlicht am 28. Aug 2010), der schließlich dieses gefürchtete Problem befestigte hinzufügend, dass ein "letztes EIN/AUSGABE-STEUERSYSTEM" Auswahl für den Grund-SDK Einstellung Baut.
Wenn Sie eine Nachricht wie das sehen (besonders, wenn es Ihnen eine kompilieren Warnung oder Fehler gibt):
![]()
Sie sollten sich ändern die Grund-SDK Bauen Einstellung Ihres Projektes, das "Letzte EIN/AUSGABE-STEUERSYSTEM" Einstellung zu verwenden:

Bemerken Sie: In einigen Fällen kann es notwendig sein zu schließen Xcode 4 und es wiederzueröffnen, um den "fehlenden Grund-SDK" Nachricht zu machen, gehen weg.
Richtig das Übernehmen Baut Einstellungen
Normalerweise erben alle Ziele in Xcode die Bauen Einstellungen des Projektes standardmäßig.
Jedoch, sobald Sie jede Änderung mit irgendwelchem vorgenommen haben, Bauen Einstellung am Zielniveau das Baut Einstellung wird nicht mehr erben mit demselben vorgenommene Änderungen Bauen Einstellung auf dem Projektniveau. Die Verzug-Reaktion durch viele Entwickler ist häufig, die Kugel zu beißen und die Bauen Einstellungen des Projektes sowie aller Ziele zu überprüfen und nachzuprüfen, und dieselbe Änderung ebenso oft vorzunehmen, wie Sie Ziele in Ihrem Projekt haben.
Tun Sie das nicht, es gibt einen besseren und leichteren Weg!
Sie können eine Bauen Einstellung am Zielniveau zum Verzug zurück haben, um die Bauen am Projektniveau definierte Einstellung zu erben. Ebenfalls kann eine Bauen Einstellung am Projektniveau veranlasst werden, von der OS Standardeinstellung zu erben. Im Screenshot unten habe ich die Bauen Einstellung am Zielniveau zweckmäßig geändert: In the screenshot below I have purposefully changed the Build Setting at the target level:
![]()
Um es zu haben, soll Verzug zurück zur Projekteinstellung, die Letztes EIN/AUSGABE-STEUERSYSTEM (EIN/AUSGABE-STEUERSYSTEM 4.3) alles ist, welch Sie tun müssen, auswählen, die Einstellung Bauen und die Löschtaste schlagen:
![]()
Tipp: Die Schaltung vom Vereinigten bis die Niveau-Ansicht, die Bauen Einstellungen nachprüfend, macht es leicht zu sehen, die Einstellungen Bauen, werden geerbt, und die nicht sind. Sie werden auch bemerken, dass irgendwelcher Einstellung Baut, die am gegenwärtigen Niveau geändert worden ist und nicht erbt, wird sein Wert mehr in kühnen Briefen gedruckt. You’ll also notice that any Build Setting that has been changed at the current level and doesn’t inherit its value anymore is printed in bold letters.
So ist's recht!!
Das glückliche Codieren mit Ihrem kürzlich aktualisierten Cocos2d-I-Phone-Projekt! Dieser Steigungstutorenkurs wird auch in der zweiten Revision des Erfahrens des Cocos2D Buches gedruckt.
Tipp: Mit Kobold2D wird es noch leichter sein, Ihr Projekt zu befördern, weil eine einfache Kopie & Teig der Dateien in der kobold2d Mappe genügen werden. Wenn es jemals irgendwelche zusätzlichen Schritte gibt zu folgen, werden wir sie im Detail natürlich beschreiben. If there are ever any additional steps to follow we’ll describe them in detail of course.
Heute ziepte ich:
"Wie man effizient ist? Versuchen Sie nicht, die Kunst der Vollkommenheit zu meistern."”
Das scheint, eine Aufmerksamkeit erregt zu haben. Ich muss zugeben, dass es an jeder Bedeutung zu meiner Arbeit nicht völlig leer war. Für die ganze Zeit, als ich ein wirklicher Angestellter war und zahlte jemand anderer mir, um einen bestimmten Job innerhalb eines Rahmens der festgelegten Zeit so gut wie möglich zu tun, es blieb ein schwer erfassbarer Begriff, dass eines Tages Sie einen Job "Recht" diesmal tun wollen. Weil es immer entweder Zeit oder Budget gibt, das darin schneidet, was möglich oder schlechter ist, was angemessen ist. For all the time when I was an actual employee and someone else was paying me to do a certain job within a specified time frame as good as possible, it remained an elusive notion that one day, you want to do a job “right” for once. Because there’s always either time or budget cutting into what’s possible or worse what’s reasonable.
Ich dachte immer, dass ich ein pragmatischer war, und während ich den Begriff eines Tages mochte, jemandes ebenso gute Arbeit tuend, wie man vielleicht - ein mantra kann, waren einige meiner Kollegen darauf schärfer als andere sich zu wiederholen - ich akzeptierte, dass es nie geschehen würde. Das war, bis ich verantwortlich für meine eigene Arbeit und financials wurde. Ich fing kürzlich an, in den Xcode 4 Schablone-System, zuerst aus dem Interesse und den Voraussetzungen für das Kobold2D-Projekt zu graben, und dann Qualitätsdokumentation für den neuen Xcode 4 Schablone-System zu machen. Ich denke, dass das ungefähr 3 Wochen her jetzt war, und kürzlich ich bemerkte, dass ich sehr weit nicht gehe, setze ich fort, die Straßensperren und tote Punkte und allgemein Marotten und Probleme zu finden, die in unzählig von Stunden enden, nichts als Probe & Fehler mit kleinen Ergebnissen tuend, sich dafür zu zeigen. I recently started digging into the Xcode 4 Template system, at first out of interest and requirements for the Kobold2D project, and then to make quality documentation for the new Xcode 4 template system. I think that was about 3 weeks ago now, and recently I noticed I’m not going very far, I keep finding the roadblocks and dead ends and generally quirks and issues which end up in countless of hours doing nothing but trial & error with little results to show for.
Und dort war ich, mit mir selbst kämpfend, versuchend, all das auszurechnen - ich meine wörtlich alles. Und es wurde härter, den Job zu beenden, weil es immer mehr Demotivieren-Unfähigkeit wurde, einen Nutzen (oder sogar ein Arbeiten) Lösung zu meinem Problem zu finden.
Wie man den Job nicht tun lässt, nachdem er getan wird
Ich fiel zum schwer erfassbaren Gedanken am Dokumentieren des Xcode 4 Schablone-System vollkommen. Ich konnte nicht erfolgreich sein, weil fast definitionsgemäß Sie ein System nicht vollkommen dokumentieren können, das an sich unvollständig, rissig gemacht, unvollständig und bloß bestimmt ist, um für die Dinge verwendet zu werden, wird es weil mehr nicht weniger verwendet. Es wird nicht sogar entworfen, um durch andere verwendet zu werden, oder es würde durch den Apfel dokumentiert worden sein. Ich habe jetzt ein sehr gutes Verstehen dessen, warum es nie dokumentiert wurde, hat es gerade Sinn. Mein Verdacht ist, dass sie die Schablonen manuell nicht sogar editieren, aber sich stattdessen auf Werkzeuge verlassen, um den grössten Teil dieses Jobs zu tun. Und es scheint, ein Paar schlechte Kerben in dort auch zu geben. It’s not even designed to be used by others, or it would have been documented by Apple. I now have a very good understanding of why it was never documented, it just makes sense. My suspicion is that they don’t even edit the templates manually but instead rely on tools to do most of this job. And there seem to be a couple bad hacks in there too.
Ich musste akzeptieren, dass ich nach anderen Weisen für Kobold2D Benutzer werde suchen müssen, neue Projekte wegen mehrerer technischer Beschränkungen des Xcode 4 Schablone-System anzufangen: Es kann sich nicht mit Quer-verweise angebrachten Projekten befassen, und es ist für Projekte mit Hunderten von Dateien unerträglich. Eine der wichtigen Absichten für Kobold2D sollte eine Vielfalt von bedeutungsvollen, arbeitenden Projektschablonen zur Verfügung stellen. Sehr einfache Demospiele. Sie werden irgendwie geschaffen werden müssen, und traurig musste ich mich einigen, dass das innerhalb von Xcode (4) nicht möglich sein wird und durch einigen anderen getan werden muss, bedeutet (und ideal nicht manuell). One of the important goals for Kobold2D was to provide a variety of meaningful, working project templates. Very simple demo games. They’ll have to be created somehow, and sadly I had to come to terms that this won’t be possible within Xcode (4) and has to be done through some other means (and ideally not manually).
Das Versuchen, eine Lösung für Kobold2D-Projektschablonen zu finden, behielt mich, an der Dokumentation arbeitend, wenn auch ich begriffen haben sollte, dass ich bereits Weg mehr dokumentiert habe als, was die meisten Menschen für ihre Datei und Projektschablonen brauchen würden. Ich konnte nicht aufhören, nach einer Projektschablone-Lösung für Kobold2D zu suchen, es schien so nahe und andere Lösungen bis jetzt - so verbrachte ich Zeit nicht sogar, jene anderen Lösungen denkend. Awww, das Entsetzen, allein zu arbeiten. Keiner, um Ihren Kolben in der richtigen Richtung, weg von der Vollkommenheit und zum Bekommen des getanen Jobs zu kicken.
Awww, the horror of working alone. No one to kick your butt in the right direction, away from perfection and towards getting the job done.
Entscheidung
So heute entschied ich, dass ich den Xcode 4 Schablone-Dokumentation einwickeln werde, die ich bis jetzt habe, der ziemlich viel dennoch (zurzeit 57 Seiten als PDF) ist, und dann fangen Sie an, das Dokument für 10 $ statt 15 $ zu verkaufen, weil es nicht ebenso abgeschlossen ist, wie ich es beabsichtigte, um zu sein. Sehen Sie dafür in den nächsten wenigen Tagen zu. Ich werde Ihnen mitteilen. I’ll let you know.
Das Äußerste Cocos2D-Projekt: Kobold2D
Wie ist Kobold2D?
Es ist das Äußerste Cocos2D-Projekt natürlich. Oder genauer, der offizielle Name dafür. In diesem Augenblick ist die Website www.kobold2.org nur eine "Ankunft bald" Seite, während Entwicklung in Vorbereitung ist. Right now, the website www.kobold2.org is only a “coming soon” page while development is under way.
Was ist in einem Namen?
Es nennend, "wäre Das Äußerste Cocos2D-Projekt" die ganze Zeit langweilig eher schnell geworden. Ich wollte einen Namen, der an noch völlig verschiedenen Cocos2D erinnernd ist. Da Glück es haben würde, habe ich kürzlich viele Battlestar Galactica Episoden beobachtet. Sie könnten sich erinnern, dass im Hausplaneten der Menschheit dieser Show Kobol genannt wird. Ich konnte nicht helfen, an COBOL die ganze Zeit zu denken.
As luck would have it, I’ve recently watched a lot of Battlestar Galactica episodes. You might remember that in this show humanity’s home planet is called Kobol. I couldn’t help but think of COBOL all the time.
Von dort war es ein kleiner Schritt zu Kobold, der in Deutschland mit einem berühmten Cartoon Kobold genannt Pumuckl weit vereinigt wird. Als ein Kind war ich ein großer Anhänger von Pumuckl, so Kobold2D aufpickend, wie der Name kein brainer war. Noch mehr, da es denselben Ring dazu hat als Cocos2D. Even more so since it has the same ring to it than Cocos2D.
Warum einen neuen Markennamen schaffen?
Für einen, das Projekt gebend, macht ein Name seines eigenen es klar attraktiver. Es drückt eine bestimmte Hingabe zum Projekt aus. Es sollte auch Zeichen geben, dass es nicht mehr so etwa Cocos2D ist. Mit allen jenen Extrabibliotheken und zusätzlichem Leim-Code plus ein experimentelles Projekt arbeite ich daran, ich bin geneigt, ihn einen Spielentwicklungsbastelsatz (GDK) zu nennen. Es ist die langfristige Vision für Kobold2D: mehr Macht, leichter - für jeden! It should also signal that it’s no longer just about Cocos2D. With all those extra libraries and additional glue code, plus an experimental project I’m working on, I’m tempted to call it a Game Development Kit (GDK). That’s the long term vision for Kobold2D: more power, easier – for everyone!
Von der langen Sicht sprechend, ist es ein anderer Grund, ihm seinen eigenen Markennamen zu geben. Der Hellseher dachte das schließlich zu sein, etwas wie Kobold2D konnte für andere Spielmotoren ebenso mit denselben Kernwerten durchgeführt werden: Geben Sie den Entwicklern mehr Macht, größere Flexibilität, aber machen Sie es zur gleichen Zeit leichter für sie, angefangen zu werden. give the developers more power, greater flexibility but at the same time make it easier for them to get started.
Die Kobold Mannschaft
Ich bin nicht der einzige Entwickler, der für eine mehr berufliche Arbeitsumgebung schmerzt. Kobold2D ist eine Gelegenheitsgesellschaft mit einem anderen älteren Softwareentwickler und einem Paar, das Händen hilft, die hinaushelfen, wo auch immer und wann auch immer sie können. Wir waren bereit, die Entwicklungslast auf einer freiwilligen Basis zu teilen. Wir alle haben verschiedene Anteile und Interessen an der Entwicklung von Kobold2D. We agreed to share the development burden on a voluntary basis. We all have different stakes and interests in the development of Kobold2D.
Für mich persönlich ist der wichtigste Aspekt mein Ehrgeiz, ein Projekt für seine Benutzer, sowohl beruflich als auch zufällig zu entwickeln. Ich weiß, dass ich Berufssysteme bauen kann, die leicht sind, gut dokumentiert zu verwenden und so den Job schmerzlos tun zu lassen. Das summiert grundsätzlich, was ich seit den letzten 10 Jahren getan habe. This basically sums up what I’ve been doing for the past 10 years.
Was wir nicht tun …
Es gibt ein Problem ich denke mich dabei seiend heraufzukommen, der einige Menschen verwirren könnte, so will ich darüber klar sein: Wir schaffen einen Zweig von Cocos2D nicht. Wir haben keine Absicht, so zu tun. Wir verwenden die Bibliothek, wie ist, und wir beim Stall bleiben, baut. Dasselbe geht für alle anderen Bibliotheken natürlich. We have no intention to do so. We use the library as is, and we stick to the stable builds. The same goes for all other libraries of course.
Zur gleichen Zeit stoßen wir all und jede Linie unseres zusätzlichen Codes zurück nicht oder tragen sogar zur Entwicklung der Bibliotheken in Kobold2D bei. Es ist nicht, was wir beginnen zu tun, und wir einfach zu viel Zeit nicht verbringen wollen, die sich damit berät und über Änderungen mit anderen einen Kompromiss eingeht, wenn unser Code bereits dort ist und für uns arbeitend. Unser Code verwendet die MIT-Lizenz, so ist es dort für die Einnahme. Our code uses the MIT License, so it’s there for the taking.
In sehr wenigen Fällen können wir nicht umgehen, um Bibliothekscode zu modifizieren. Wir tun nur das, wo notwendig, zum Beispiel, wenn es unseren bricht bauten und die üble Lage ziemlich einfach ist. Ander als das, wenn eine Bibliothek zu unserer Befriedigung nicht arbeitet, versuchen wir, unsere üblen Lagen und Verbesserungen auf der Spitze hinzuzufügen, entweder indem wir subklassifizieren, oder indem wir von Objektiven-C Kategorien Gebrauch machen. Bis jetzt hat das sehr gut gearbeitet und erlaubt uns fortzusetzen, die zu Grunde liegenden Bibliotheken mit weit weniger Schlägereien zu aktualisieren. Other than that, if a library doesn’t work to our satisfaction, we try to add our fixes and improvements on top, either by subclassing or by making use of Objective-C categories. So far this has been working very well and allows us to keep updating the underlying libraries with far fewer hassles.
Folgende Schritte
Eine große Aufgabe, die ich selbst darlegte, um vor dem Weitergehen mit Kobold2D zu vollenden, rechnet den Xcode 4 Schablone-Format für Dateischablonen und Projektschablonen aus. Ich habe fast alles zusammen nach Ausgaben praktisch der ganzen Woche darauf. Ich dokumentiere auch alle meine Ergebnisse, und ich bin dabei, den Xcode 4 Schablone-Tutorenkurs / Verweisung / Dokumentation / Handbuch (nicht sicher über den Namen noch) am Ende des Monats zu veröffentlichen. I’m also documenting all my findings and I’m going to publish the Xcode 4 Template Tutorial / Reference / Documentation / Manual (not sure about the name yet) by the end of the month.
Die Absicht für Kobold2D ist, verschiedene Projektschablonen zu haben, der ist, warum ich umfassende Forschung über den neuen Xcode 4 Schablone-Format tue. Leider im Moment scheint es, dass es befriedigend mit Quer-verweise angebrachten Xcode-Projekten nicht arbeiten wird, aber ich bleibe positiv, dass ich eine Lösung finden kann.
Kobold2D privates Beta!
Es wird auch einen privaten Beta-Test auf Kobold2D geben, der in einem Paar Wochen anfängt (paaren Sie sich == bestimmt mehr als 2 Wochen). Die Antwort zum privaten Beta verpflichtet Faden vertraglich, wenn Sie wollen, dass eine Chance für den privaten Beta-Test aufgepickt wird.

















