Linkvent Kalender, Tag 23: BATAK Duell - 33 % von für das Weihnachten!

Am 23. Dezember 2010, in Cocos2D Linkvent Kalender, durch Steffen Itterheim by Steffen Itterheim

Sie können sich erinnern
vom 6. Dezember,
als ich wirklich förderte
der BATAK Duell-Quellcode.

OK, OK, ich höre Sie … genug von den Reimen. :)

Dan Nelson hat mich informiert, dass er im Weihnachten-Geist aus beliebigem Grund ist (unheimlich, richtig?), und bedeutet das für Sie, dass der Preis des BATAK Duell-Quellcodes jetzt auf 197 $ (unten von 297 $, ungefähr 33 % von) reduziert wird. Nach dem, was Dan mir sagte, dass Verkäufe gut für ihn, so Glückwünsche zum wohl verdienten Erfolg gehen! From what Dan told me sales are going good for him, so congratulations to the well-deserved success!

BATAK Duell ist auf dem App-Laden für.99 $ verfügbar, und dieser Trailer sollte Ihnen einen Eindruck dessen geben, worüber dieses Spiel ist (nein, nicht cheesy Off-Kommentare, lassen Sie den ersten Eindruck nicht Sie zum Narren halten):

Linkvent Kalender, Tag 9: Der Staat von Cocos2D Spielmotoren

Am 9. Dezember 2010, in Cocos2D Linkvent Kalender, durch Steffen Itterheim by Steffen Itterheim

Ich nahm mir Zeit, um die verschiedenen Häfen zu erforschen, die den Cocos2D Namen tragen oder Cocos2D im Geist wenn nicht namentlich sind. Die folgende Liste ist - zum besten von meinen Kenntnissen und zur Zeit des Schreibens - abgeschlossen und genau. Ich zählte insgesamt acht Häfen auf. I counted a total of eight ports.

Die Daten beruhen auf der frühsten öffentlichen Aufzeichnung, die ich im Stande war zu finden. Natürlich könnte das Projekt in der Entwicklung für länger, aber nicht öffentlich oder nicht gewesen sein, wo ich (größtenteils google Code und github) geschaut habe. Ich überprüfte gewöhnlich, dass der Quellcode Geschichte, das erste Problem begeht, das, der erste Posten wird verfolgt, der auf dem Forum oder wiki, der Geschichte von herunterladbaren Dateien, und ähnlichen Dingen gemacht ist. Die Liste wird durch das Datum des Beginns sortiert. Unten werden Sie meine Analyse des Staates der Cocos2D Spielmotoren finden, weil ich es wahrnehme, und ich eine Meinung in die Zukunft versuche. I usually checked the source code commit history, the first issue being tracked, the first post made on the forum or wiki, the history of downloadable files, and similar things. The list is sorted by date of inception. Underneath you’ll find my analysis of the state of the Cocos2D game engines, as I perceive it, and I try an outlook into the future.

Die Ganze Liste von Cocos2D Spielmotoren

Cocos2D

Sprache: Pythonschlange
Plattform (En): Mac OS, Windows, Linux
Ringsherum seitdem: März 2008
Letzte Aktualisierung: September 2010

Cocos2D für das EIN/AUSGABE-STEUERSYSTEM

Sprache: Ziel-C
Plattform (En): EIN/AUSGABE-STEUERSYSTEM-Geräte, Mac OS X
Ringsherum seitdem: Juni 2008
Letzte Aktualisierung: November 2010 (Letzter Stall: Juli 2010, Letzt Begehen: Dezember 2010) July 2010, Latest Commit: December 2010)

ShinyCocos

Sprache: Rubin
Plattform (En): EIN/AUSGABE-STEUERSYSTEM
Ringsherum seitdem: April 2009
Letzte Aktualisierung: April 2010

CocosNet

Sprache: C #
Plattform (En): EIN/AUSGABE-STEUERSYSTEM (Monoberührung)
Absicht: Auch andere.NET Plattformen wie Windows, Windows-Telefon und Xbox 360 zu unterstützen
Ringsherum seitdem: Oktober 2009
Letzte Aktualisierung: September 2010

Cocos2D für den Androiden

Sprache: Java
Plattform (En): Androide
Versionen: Cocos2d-Androide (codieren auf github), aktiver Zweig: Cocos2d-android-1 (codieren auf github)cocos2d-android-1 (code on github)
Bemerkenswert: Cocos2d-android-1 wurde von vom Cocos2d-Androiden im Oktober 2010 verzweigt, weil einige Entwickler mit seinem langsamen Fortschritt unzufrieden waren. Anscheinend begeht Quellcode hatte im Juni angehalten. Apparently source code commits had stopped in June.
Ringsherum seitdem: Januar 2010
Letzte Aktualisierung: Juni 2010 (Cocos2d-Androide), Dezember 2010 (cocos2d-android-1)

Cocos2D für Windows

Sprache: C ++
Plattform (En): Windows, Bewegliches Windows
Bemerkenswert: Dieses Projekt war anscheinend kurzlebig. Ein großer Codestoß, ein Blog-Posten, keine Aktualisierungen seitdem, weder Code noch blog oder irgend etwas anderes. Ich glaube, dass wir diesen Hafen als tot besonders im Licht von Cocos2D-X betrachten können. One big code push, one blog post, no updates since, neither code nor blog or anything else. I believe we can consider this port dead, especially in light of Cocos2D-X.
Ringsherum seitdem: April 2010
Letzte Aktualisierung: Mai 2010

Cocos2D für das Web

Sprache: Javascript
Plattform (En): WWW-Browser
Website mit der Online-Demo: http://cocos2d-javascript.org/
Ringsherum seitdem: Juni 2010
Letzte Aktualisierung: Dezember 2010

Cocos2D X

Sprache: C ++
Plattform (En): EIN/AUSGABE-STEUERSYSTEM, Androide, uPhone, Win32, andere
Bemerkenswert: Obwohl das Projekt im Juli 2010 anfing (davon, was ich erzählen kann), war das Projekt bis zum 13. November nicht weit bekannt, es auf dem Gezwitscher bekannt gebend.
Ringsherum seitdem: Juli 2010
Letzte Aktualisierung: Dezember 2010

Der Staat von Cocos2D Spielmotoren

Nach meiner Meinung haben wir zurzeit nur zwei ernste Wettbewerber: Cocos2D für das EIN/AUSGABE-STEUERSYSTEM und Cocos2D X.

Der erstere hat eine Geschichte von regelmäßigen Aktualisierungen seit mehr als 2.5 Jahren und einer starken Gemeinschaft, der Letztere wächst schnell, weil es eine ganze Mannschaft dahinter gibt, das durch chinesischen Unicom gesponsert/finanziert wird. Wenn ich extrapoliere, was in letzten Monaten mit diesen zwei Spielmotoren geschehen ist, bin ich überzeugt, dass eher eher als später Cocos2D X auf dem Durchschnitt sein wird oder Cocos2D für das EIN/AUSGABE-STEUERSYSTEM in Bezug auf die Reife, Stabilität und allgemeine Anwendbarkeit einholend. Sie müssen gerade eine Mannschaft bezahlt (?) denken Entwickler gegen (größtenteils) einen einzelnen Entwickler, und meine Annahme sind sie haben ein Problem damit nicht und können sogar von 3. kommerziellen Parteierweiterungsprodukten unterstützend sein. Ich gebe wirklich zu, dass Cocos2D für das EIN/AUSGABE-STEUERSYSTEM die interessanteste Plattform bleiben wird, um Entwickler, Entwickler mit einem starken Hintergrund in der Objektiven-C Programmierung und denjenigen zu beginnen, die einfach ihre Spiele und apps zu vielfachen Plattformen nicht bringen wollen. Für jeden sonst: Behalten Sie ein nahes Auge auf Cocos2D X. Es hatte sicher viele erhobene Augenbrauen des Entwicklers. You just have to consider a team of paid (?) developers vs. (for the most part) a single developer, and my guess is they don’t have a problem with and may even be supportive of 3rd party commercial add-on products. I do agree that Cocos2D for iOS will remain the most interesting platform for beginning developers, developers with a strong background in Objective-C programming and those who simply don’t want to take their games and apps to multiple platforms. For everyone else: keep a close eye on Cocos2D X. It certainly had a lot of developer’s eyebrows raised.

Es gibt einen starken Anschluß-, und das ist Cocos2D für das Web (cocos2d-javascript). Oft aktualisiert und in einer gut geschützten Nische, die durch die oben erwähnten Cocos2D Versionen nicht bedeckt werden kann. Plus, und ist das irre, Sie konnten sogar webbasierte Cocos2D Spiele machen, die auch auf dem Browser des I-Phones laufen - denken an die Gelegenheiten! Es ist iRepetetiveWebBasedGameMakingTonsOfMoney Zeit. Gerade albernd, außer dass ich nicht bin. Ich denke, dass Cocos2D für das Web eine gute Chance beim Werden relativ populärer und sehender wirklicher Gebrauch erträgt, und mit fortlaufenden und relativ häufigen Aktualisierungen das über den Kurs von 2011 geschehen könnte. Behalten Sie daran! Plus, and this is freaky, you could even make web-based Cocos2D games that also run on the iPhone’s browser – think of the opportunities! It’s iRepetetiveWebBasedGameMakingTonsOfMoney time. Just kidding, except that I’m not. I think Cocos2D for Web stands a good chance at becoming relatively popular and seeing actual use, and with continued and relatively frequent updates this might be happening over the course of 2011. Keep at it!

Cocos2D (Pythonschlange), der Großelternteil, ist ein Nische-Projekt, und es wird ein Nische-Projekt bleiben. Zu lange hat es gewesen eine Nische, tun Sie zu selten wir sehen Aktualisierungen, zu niedrig ist seine Versionsnummer noch (v0.4 nach 2.5 Jahren), zu wenig Interesse ist dort im Allgemeinen für völlig basierte Spielmotoren der Pythonschlange, zu stark sind die Wettbewerber beide aus derselben Sprache (spezifisch PyGame) sowie die meisten anderen Spielmotoren mit einem Fokus auf 2. Spielen. Dasselbe geht für ShinyCocos - wer würde I-Phone-Spiele im Rubin schreiben wollen? Töten Sie mich nicht, ich weiß, dass Sie dort sind, aber Sie müssen zugeben, dass Sie gerade ein wenig zu deinem Besten zu irre sind. ;) The same goes for ShinyCocos – who would want to write iPhone games in Ruby? Don’t kill me, I know you’re out there, but you have to admit that you’re just a little too freaky for your own good. ;)

Cocos2D für den Androiden und CocosNet sind beide Häfen ich bedauere, dass ich daran nicht glauben konnte, aber ich tue nicht bisher. Für den ersteren hat der neue Zweig es interessanter und aktiv unterstützt gemacht, aber wer weiß für wie lange? Und dann gibt es Cocos2D X, der einen Wind aus beiden, aber besonders die Androide-Version nimmt. Es sei denn, dass Sie Java-esque durch und durch sind. Für CocosNet wünsche ich, dass er eines Tages seine Absicht erreichen und hoffentlich auf oder getragen zur XNA Plattform, und nicht Mono abspielbar beruhen wird (yikes!), so dass wir Cocos2D Spiele für den Xbox 360, Zune, Windows und Windows Telefon 7 schreiben und sie durch/auf den AppHub des Microsofts veröffentlichen können. Das würde sich schaukeln! Schließen Sie mich ein, wenn das jemals geschieht. :) And then there’s Cocos2D X which takes some wind out of both, but especially the Android version. Unless you’re Java-esque through and through. For CocosNet I wish it’ll one day reach its goal and hopefully be based on or ported to the XNA platform, and not Mono (yikes!), so that we can write Cocos2D games for the Xbox 360, Zune, Windows and Windows Phone 7 and publish them through/on Microsoft’s AppHub. That would rock! Count me in if that ever happens. :)

Welcher Cocos2D für Windows verlässt. Das ist ein Projekt es ist für einen bestimmten Typ von offenen Quellprojekten so typisch. Ich synchronisiere diese Ereignisse "öffnen Quellmüllkippen". Es ist wörtlich ein Programmierer, der aus seiner Wohnung kommt, nachdem Monate der harten Arbeit, die Welt "He Kerle erzählend, schauen, bringe ich meinen Abfall heraus!". Außer dass der Abfall wirklich ziemlich interessant ist, noch ist es unvollständig, unfertig und de-facto-unbrauchbar, so bleibt es im trashbin und jedem, kurz vorbeizukommen, und Einnahme eines Atemzugs gehen "Ewwwww!!!" . So, und sagte, dass Entwickler zu seiner Wohnung zurückgeht, wahrscheinlich an seiner folgenden Mülldeponie arbeitend. Wenn wir Glück haben, wird es eine Aktualisierung zum ehemaligen Projekt sein - aber als die zweite Aktualisierung erscheint, haben die meisten Entwickler mit einem Interesse Glauben an das Projekt verloren. Aber meistens werden wir nie sehen oder von diesem Entwickler wieder hören. Mit anderen Worten: Cocos2D für Windows war der Tag praktisch tot, den es anfing. Und jetzt mit Cocos2D X bezweifle ich ernstlich, dass wir ihn mehr brauchen. Es ist eine Scham. I dub these occurrences “open source dumps”. It’s literally some programmer coming out of his apartment after months of hard work, telling the world “Hey guys, look, I’m bringing my trash out!”. Except that the trash is actually quite interesting, yet it’s incomplete, unfinished and de facto unusable so it stays in the trashbin and everyone stopping by and taking a sniff is going “Ewwwww!!!”. Well, and said developer goes back to his apartment, probably working on his next trash dump. If we’re lucky, it’ll be an update to the former project – but by the time the second update appears, most developers with an interest have lost faith in the project. But more often than not, we’ll never see or hear of this developer again. In other words: Cocos2D for Windows was practically dead the day it started. And now with Cocos2D X I seriously doubt we need it anymore. It’s a shame.

Fügen Sie Ihre Verbindung zum Cocos2D Linkvent Kalender hinzu

Haben Sie etwas, um sich mit der Cocos2D Gemeinschaft zu teilen? Ich habe genug Vorlagen nicht erhalten, um alle Tage bis zum Weihnachten zu füllen, obwohl ich wirklich genug Verbindungen habe, um denjenigen jeden Tag anzuschlagen, möchte ich eine Verbindung zu Ihrer Website oder Blog-Posten lieber anschlagen.

Markiert mit: · · · · ·    

Linkvent Kalender, Tag 6: BATAK Duell - Quellcode zum Verkauf

Am 6. Dezember 2010, in Cocos2D Linkvent Kalender, durch Steffen Itterheim by Steffen Itterheim

Dan Nelson hat an basierten Spiel seines Cocos2D BATAK Duell gearbeitet (sehen Sie es auf iTunes an) seit 5 Monaten. Er erhielt Dutzende von Bitten von Mitentwicklern, seinen Quellcode zu teilen. Vor ungefähr 3 Wochen stellte er den Quellcode des Spiels für den Kauf für 297 $ bereit. About 3 weeks ago he made the game’s source code available for purchase, for $297.

Die Eigenschaft-Liste ist ziemlich eindrucksvoll:

- Ein Ganzes I-Phone-Spielfachwerk, kann für Ihr folgendes Spiel leicht kundengerecht angefertigt werden!
- Nahtlose OpenFeint Integration
- Erfahren Sie, wie man OpenFeint Ergebnisse aufstellt
- Wie man ein Menüsystem mit vielfachen Abteilungen aufstellt
- Wie man spart und Benutzereinstellungen wieder herstellt
- Wie man einen Singleton-Gegenstand für die globale variable Unterstützung durchführt
- Entdecken Sie, wie man Feuer- und Rauch-Effekten schafft
- Wie man eine visuell eindrucksvolle 'Gegner-Leiter' aufstellt
- Sieh, wie man Partikel-Systeme verwendet, um herrliche Seheffekten zu schaffen (zum Beispiel, ein riesiger Sturm mit dem Platzregen!)
- Wie man entdeckt, als ein schneller bewegender Gegenstand vom Spieler berührt worden ist
- Wie man vielfache Geräuscheffekte gleichzeitig spielt
- Wie man spielt und Musik Pause macht
- Wie man Pause macht und das Spiel fortsetzt
- Wie man behandelt, der Eingang des Spielers 'schließen Codes' das Verwenden einer UITextField-Kontrolle auf
und ein super kühler durchsichtiger Knall Tastatur!
- Wie man eine glatte scrollende 'Kredit'-Abteilung aufstellt

Die Ansage von Read Dan oder geht voran und kauft den BATAK Duell-Quellcode. Was mehr ist, hat Dan Einstellung eine Tochterverbindung, die Sie auf Ihrer Website aufstellen können. Weil jeder Verkauf die Tochterverbindung machte, werden Sie eine 35-%-Kommission (103,95 $) bekommen. Um von der Tochterverbindung Gebrauch zu machen, müssen Sie sich einschreiben, wie sich an E-Rauschgiftsüchtigen anschließen und das BATAK Duell Cocos2D Quellcodeprodukt auswählen. For each sale made through the affiliate link you’ll get a 35% commission ($103.95). To make use of the affiliate link you have to register as affiliate with e-Junkie and select the BATAK Duel Cocos2D Source Code product.

Übrigens bekommen Sie das volle Xcode-Projekt und die ganze Kunst, Musik und gesunde Dateien, aber die Anlagendateien sind für die Neuverteilung nicht beabsichtigt, eg. Sie kann nicht sie in Ihr eigenes Spiel einschließen.

Fügen Sie Ihre Verbindung zum Cocos2D Linkvent Kalender hinzu

Haben Sie etwas, um sich mit der Cocos2D Gemeinschaft zu teilen? Ich habe genug Vorlagen nicht erhalten, um alle Tage bis zum Weihnachten zu füllen, obwohl ich wirklich genug Verbindungen habe, um denjenigen jeden Tag anzuschlagen, möchte ich eine Verbindung zu Ihrer Website oder Blog-Posten lieber anschlagen.

Linkvent Kalender, Tag 5: Seite, die CCLayer wie UIScrollView Scrollt

Am 5. Dezember 2010, in Cocos2D Linkvent Kalender, durch Steffen Itterheim by Steffen Itterheim

Todays Verbindung ist derjenige, auf den ich kürzlich stieß und ich glaube, dass Sie das sehr nützlich finden werden. Simon Skinner (@vultuk) schrieb einen Blog-Posten und veröffentlichte den Quellcode für seine Durchführung einer UIScrollView-artigen mit Cocos2D durchgeführten Seitenscrollen-Schicht. Es benimmt sich ähnlich Browsing-Fotos in der Foto-Anwendung, mit dem Reißen und Aufprallen und allem das. Sieh dieses Video: It behaves similar to browsing photos in the Photo application, with snapping and bouncing and all that. See this video:

Der Artikel von Read Simon auf dem Fehlersuchprogramm, Design, Versammelt Sich, Spiel (DK101) blog und ergreift den Quellcode hier: Das Einführen der Seite, die in Cocos2D Scrollt

Fügen Sie Ihre Verbindung zum Cocos2D Linkvent Kalender hinzu

Haben Sie etwas, um sich mit der Cocos2D Gemeinschaft zu teilen? Ich habe genug Vorlagen nicht erhalten, um alle Tage bis zum Weihnachten zu füllen, obwohl ich wirklich genug Verbindungen habe, um denjenigen jeden Tag anzuschlagen, möchte ich eine Verbindung zu Ihrer Website oder Blog-Posten lieber anschlagen.

Linkvent Kalender, Tag 2: Gemeinschaftsgesteuertes I-Phone-Spiel

Am 2. Dezember 2010, in Cocos2D Linkvent Kalender, durch Steffen Itterheim by Steffen Itterheim

Nate Weiss, Autor des kommerziellen I-Phone-Spielbastelsatzes, gern Sie hälfe, die erste Gemeinschaft gesteuertes RPG Spiel für das I-Phone zu bauen. Lesen Sie seine Ansage.

Er schrieb ein Spieldesigndokument für Sie zu nass Ihr Appetit, und erfahren Sie welche Bedürfnisse, getan zu werden. Es ist ein ehrgeiziges Projekt, das ich glaube, würde schrecklich sein, um an besonders teilzunehmen, wenn Sie keine Zeit zu haben und Energie, ein ganzes Spiel zu bauen, durch sich selbst vorspringen, aber Sie nehmen noch gern an fruchtbaren Spielentwicklungstätigkeiten teil. Was das Spiel braucht, am meisten soll Niveaus entwerfen, den populären Mit Ziegeln gedeckten Karte-Redakteur, und die neuen Gestaltungsarbeiten für Ziegel, Charaktere und cutscenes verwendend. What the game needs most is to design levels using the popular Tiled Map Editor, and new artworks for tiles, characters and cutscenes.

Sie müssen wirklich eine Kopie des I-Phone-Spielbastelsatzes haben, um teilzunehmen, aber zurzeit ist es mit 30 % davon verkäuflich und kostet nur 69 $. Dafür bekommen Sie den ganzen Quellcode und das Vermögen für die Quexlor Handlung RPG und eine 150-Seite-Spielentwicklung eBook. Ich denke sein Produkt, und ebook sind ausgezeichnet und das Geld gut wert, und ich führe zurzeit zwei Anzeigen für Nate auf einer freiwilligen Basis. Sie können mehr über das Pro und Kontra des I-Phone-Spielbastelsatzes aus diesen unabhängigen Rezensionen erfahren: I think his product and ebook are excellent and well worth the money, and I’m currently running two ads for Nate on a voluntary basis. You can learn more about the pros and cons of the iPhone Game Kit from these independent reviews:

Fügen Sie Ihre Verbindung zum Cocos2D Linkvent Kalender hinzu

Haben Sie etwas, um sich mit der Cocos2D Gemeinschaft zu teilen? Ich habe genug Vorlagen nicht erhalten, um alle Tage bis zum Weihnachten zu füllen, obwohl ich wirklich genug Verbindungen habe, um denjenigen jeden Tag anzuschlagen, möchte ich eine Verbindung zu Ihrer Website oder Blog-Posten lieber anschlagen.

Erfahren Sie Cocos2D Spielentwicklung: EBook ist endgültig!

Am 16. November 2010, in Ansagen, Buch, cocos2d, durch Steffen Itterheim by Steffen Itterheim

Gerade heute wurde ich informiert, dass die eBook Version dessen I-Phone Erfährt und iPad Cocos2D Spielentwicklung jetzt in seiner Endform verfügbar ist!

AKTUALISIERUNG: Das Quellcodedownload (auch auf der Seite des Buches, verlassen Seite, unter Buchmitteln) schließt jetzt den ganzen Quellcode ein.

Die Druckausgabe wird einmal bald hoffentlich innerhalb der nächsten ~3 Wochen folgen.

Auf einem zusammenhängenden Zeichen schloss sich Ray Wenderlich Kräften mit Rod Strougo an, um zu helfen, das Cocos2D-Buch der Stange wegen eines sonderbar vorgesehenen Ausgabe-Datums zu beenden, dessen sich Herausgeber anscheinend unmöglich fühlt zu verschieben. Dadurch habe ich vor zu sagen: Die Frau der Stange hat ein Baby. Glückwünsche dazu, und das Buch! :) Rod’s wife is having a baby. Congratulations to that, and the book! :)

Die Kunst der Behauptung (weil es Xcode gehört)

Am 9. November 2010, in der Programmierung, Xcode, durch Steffen Itterheim by Steffen Itterheim

Kürzlich habe ich die Quellcodedateien meines ganzen Projektes von.m bis.mm Dateierweiterungen geändert. Das sagt dem Bearbeiter, die Dateien als Ziel-C ++/C ++ Code statt des Verzugs Objective-C/C zu kompilieren. Ich musste so tun, weil ich Box2D verwende, und als eine Gewohnheit ich vorhabe.mm zukünftig für jede Quelldatei zu verwenden, die ich schaffe. I needed to do so because I’m using Box2D, and as a habit I intend to use .mm from now on for every source file I create.

Hüten Sie sich jedoch vor den feinen Unterschieden. Vorher, wenn ein NSAssert ausgelöst wurde, hielt er die Programm-Ausführung. Aber in.mm Dateien druckt es einfach die Behauptungsnachricht an die Konsole, während der App Ausführung fortsetzt. Das führt zu überblickten Behauptungen, oder unaufhörlich dem Abladen von Behauptungsnachrichten an die Konsole. Klar nicht, was ich wollte. Das Ändern der Dateierweiterung von.mm zurück zu.m befestigte das Problem, aber es ist nicht eine Auswahl, die ich für alle Dateien habe. But in .mm files it simply prints the assertion message to the console while the App continues execution. This leads to overlooked assertions, or continuously dumping assertion messages to the console. Clearly not what I wanted. Changing the file extension from .mm back to .m fixed the problem, but that’s not an option I have for all files.

Ich sah mich um und fand einen blog Artikel durch Vincent Gable, der erwähnt, dass NSAssert schädlich betrachtet wird. Das erregte meine Aufmerksamkeit, weil sie dasselbe Problem beschrieb, das ich (NSAssert nicht stockende Ausführung) erfuhr, indem ich das Argument auf Voodoo stützte ("Manchmal tut sie, manchmal tut sie nicht …") beziehungsweise kein Argument überhaupt, sie sagt gerade, dass Sie "NSAssert unzuverlässig, deshalb gefährlich sind".

Es ist, als ob er will, dass ich ihn falsch beweise. :)

In der Verteidigung von Vincent das Unrecht wird er zu NSAssert getan, durch den er wettmacht, eine große Protokollierungsmethode geschrieben zu haben, die ich dabei bin, zu gocos hinzuzufügen, weil es so handlich ist.

Warum behaupten () ist weniger nützlich als NSAssert

Zuallererst hat das Behaupten () Funktion ein großes Problem: Es erlaubt Rahmen nicht, zur Produktionsschnur hinzugefügt zu werden, da die Produktionsschnur nur eine unveränderliche Schnur, wie in diesem Beispiel sein kann:

behaupten Sie (Wert <maxValue && "zu großer Wert!"); @"value too big!");

Mit NSAssert können Sie wirklich embedd einige Werte in die Behauptungsnachricht:

NSAssert2 (Wert <maxValue, "schätzen %i zu groß (max: % i)!", Wert, maxValue);%i)!", value, maxValue);

Es ist nützlich in vielen Fällen tremendeously, um wirklich das Beleidigen oder die interessanten Werte in der Fehlermeldung zu sehen, ohne das Testhilfeprogramm anheizen zu müssen. Besonders, wenn es zu Dateinamen, und noch mehr kommt, wenn Endbenutzer jene Behauptungen sehen könnten. Nicht ein Problem auf dem EIN/AUSGABE-STEUERSYSTEM, aber denken, Tischapps zu entwickeln. Not a problem on the iOS, but think of developing desktop Apps.

Warum NSAssert nicht schädlich ist, und wie man ihn befestigt

So dann warum hörte mein App Ausführung nicht auf, als ein NSAssert auslöste? Ich kann nicht auf Sie wirklich antworten, dass die Doktoren des Apfels sagen, dass NSAssert einen NSInternalInconsistencyException erheben wird. So dass den App verhindern sollte zu laufen? Es scheint nicht der Fall zu sein, wenn Sie das Ziel-C ++ Bearbeiter verwenden, und ich den Code auf einem verschiedenen Faden auch nicht führe. Vielleicht kann jemand ein Licht betreffs werfen, warum NSAssert in C ++ Code den App nicht automatisch verhindert zu laufen. So that should stop the App from running? It does not seem to be the case when you’re using the Objective-C++ compiler, and I’m not running the code on a different thread either. Maybe someone can shed some light as to why NSAssert in C++ code doesn’t automatically stop the App from running.

Das gute Ding ist, es gibt eine leichte Weise, das zu befestigen. In Xcode wählen Lauf-> Show-> Unterbrechungspunkte aus dem Menü, um die Unterbrechungspunkt-Liste heraufzubringen. In der Unterbrechungspunkt-Liste müssen Sie nur das Symbol objc_exception_throw hinzufügen. Nächstes Mal, wenn ein NSAssert auslöst, wird der App sofort anhalten und das Testhilfeprogramm heraufbringen. In the breakpoint list you only need to add the symbol objc_exception_throw. Next time an NSAssert triggers, the App will stop immediately and bring up the debugger.

Einige Plätze (zum Beispiel: Hier) wird Ihnen auch sagen, [beizutragen, NSException erheben] zur Unterbrechungspunkt-Liste. Es ist nicht notwendig, das ist durch objc_exception_throw seitdem Mac OS X 10.5 ersetzt worden. That’s not necessary, this has been replaced with objc_exception_throw since Mac OS X 10.5.

Das Abdrehen von Behauptungen

Ich muss zugeben, ich werde vom Sehstudio völlig verdorben. Warum Xcode verlangt, dass Sie NS_BLOCK_ASSERTIONS hinzufügen, weil ein Makro zu Ihrem Projekt Einstellungen baut, um NSAssert in der Ausgabe nicht zu kompilieren, baut ist außer mir. Wenn Sie NSAssert in Ihrem Code verwenden, stellen Sie sicher, dass Ihre Ausgabe und/oder Vertrieb bauen, definieren das NS_BLOCK_ASSERTIONS Makro. If you’re using NSAssert in your code, make sure that your release and/or distribution builds define the NS_BLOCK_ASSERTIONS macro.

Wenn Sie wirklich das Behaupten () Makro-jedoch verwenden, oder wenn Sie eine 3. Parteibibliothek verwenden, die Gebrauch behauptet (), überzeugen Sie sich, um auch NDEBUG für die Ausgabe/Vertrieb zu definieren, baut.

Als ein Seitenzeichen, wenn ich mein Cocos2d-Projekt beziehungsweise aktualisiere, ersetzen es durch gocos, es wird alle diese richtig konfigurierten Einstellungen haben.

Das Verfangen von ungefangenen Ausnahmen

Auf einer zusammenhängenden Sache gibt es immer das Problem von ungefangenen Ausnahmen, die einfach Ihren App mit wenig Chance halten, bei der wirklichen Ursache die Fehler zu beseitigen. Es geschieht selten, aber wenn es tut, würde es wirklich nützlich sein, auch das Testhilfeprogramm mit dem gegenwärtigen Anruf-Stapel und allem heraufzubringen. Sie können einen globalen Ausnahme-Dressierer veranlassen, ungefangene Ausnahmen zu fangen, indem Sie den NSSetUncaughtExceptionHandler in der applicationDidFinishLaunching Methode Ihres AppDelegate nennen: You can set a global exception handler to catch uncaught exceptions by calling the NSSetUncaughtExceptionHandler in the applicationDidFinishLaunching method of your AppDelegate:

Leere onUncaughtException (NSException* Ausnahme)* exception)
{
  NSLog ("ungefangene Ausnahme: %", exception.description); %@", exception.description);
}

- (Leere) applicationDidFinishLaunching: (UIApplication *) Anwendung) applicationDidFinishLaunching:(UIApplication*)application
{
  NSSetUncaughtExceptionHandler (&onUncaughtException);;
  ...
}

In der onUncaughtException Methode werden Sie einfach die Ausnahme loggen, und (sehr wichtig) fügen einen Unterbrechungspunkt hinzu. Die NSLog Nachricht dient dem Zweck im Stande zu sein, einen Unterbrechungspunkt innerhalb dieser Methode leicht zu setzen. Es sollte nicht ein anderer NSAssert sein, weil das eine andere Ausnahme werfen wird, die nur dienen wird, um das Beseitigen mehr kompliziert zu machen, wenn ein einfacher Unterbrechungspunkt genügt. It should not be another NSAssert because that will throw another exception, which will only serve to make debugging more complicated when a simple breakpoint suffices.

Erfahren Sie Cocos2d Alpha-Buch: Jetzt verfügbarer Quellcode!!!

Am 30. August 2010, in Ansagen, Buch, cocos2d, durch Steffen Itterheim by Steffen Itterheim

Das Erfahren der Cocos2d Alpha-Buchseite verzeichnet jetzt den Quellcode für das Download. Es sind 44 Mb, enthält den Quellcode für die ersten 9 (!) Kapitel als Schwirren-Dateien.

Ich bin nicht überzeugt, wenn jeder den Quellcode, oder nur eBook Käufer herunterladen kann. Ich wurde zur Anmeldung nicht gefragt, so denke ich, dass es für jeden verfügbar sein kann. Erproben Sie es! Hier ist eine direkte Download-Verbindung: Try it out! Here’s a direct download link:

Direktes Download: Erfahren Sie Cocos2d Alpha-Buchquellcode

Bevor Sie fragen: Nein, Kapitel 6 und ist darüber hinaus noch noch immer nicht verfügbar. Sie werden warten müssen, bis sie den Herausgeberprozess durchgegangen sind. Ich glaube, dass Kapitel 5 zurzeit in diesem Prozess ist, so wird man noch mindestens eine Woche, vielleicht 2-3 brauchen, bevor Sie Ihre Hände auf Kapitel 6 bekommen werden. Aber ich hoffe, dass sobald der Herausgeberprozess die bereits verfügbaren 5 Kapitel eingeholt hat, sollten neue regelmäßig verfügbar sein. Alle 1-2 Wochen hoffe ich, aber keine Garantien. Dieser Prozess ist mir auch sehr neu, so versuche ich, das sehr sorgfältige Bilden irgendwelcher Annahmen zu sein. They will have to wait until they have gone through the editorial process. I believe Chapter 5 is currently in this process so it will still take at least a week, maybe 2-3, before you’ll get your hands on Chapter 6. But I hope that once the editorial process has caught up with the already available 5 chapters, new ones should be available on a regular basis. Every 1-2 weeks I hope, but no guarantees. This process is very new to me too so I try to be very careful making any assumptions.

Markiert mit: · · · · · · · ·    
Seite 1 212