Welche Vorteile bietet cocos2d-x 3.0 gegenüber cocos2d-x 2.x?

7

Cocos2d-x 3.0 alpha wurde bereits seit einiger Zeit veröffentlicht. Was wurde über cocos2dx-2 verbessert?

Die Liste der Features ist ziemlich wichtig, aber in Bezug auf die Performance gibt es neue Einschränkungen / Verbesserungen?

Haben Sie echte Verbesserungen bei Leistung, Entwicklungsmustern, APIs und Support festgestellt?

    
Coyote 20.12.2013, 01:42
quelle

4 Antworten

10

Ich habe es in letzter Zeit benutzt und aus dem, was ich bemerkt habe, sind die Hauptunterschiede, dass jetzt alles Namespaced ist, also müssen Sie sich nicht mit den vorangestellten Namen aus den objektiven c Mustern beschäftigen, also cocos2d: : Punkt anstelle von CCPoint (speziell für Enums, (Texture2D :: PixelFormat :: RGBA8888 anstelle von kCCTexture2DPixelFormat_RGBA8888)).

Auch einige der Event-Sachen haben jetzt Unterstützung für c ++ 11 Lambdas.

Eine vollständige Liste der Änderungen finden Sie hier: Ссылка

aber zum größten Teil, es selbst zu verwenden, ist es nur gemacht, um eher wie C ++ statt wie objective-c zu fühlen.

    
Kevin DiTraglia 20.12.2013, 02:44
quelle
4

Ich habe gewechselt und finde es ziemlich stabil. Die wichtigsten Vorteile bisher ...

  • Echte Schaltflächen anstelle von Menüs
  • Echtzeit-Spritesheets
  • SpriteBatchNodes werden nicht mehr empfohlen und ich habe einen Rückgang bei Zeichnungsaufrufen gesehen, bei denen ich nicht optimiert habe
  • weniger objektive C-Muster.
  • moderner. Namensraum statt 'CC'. C ++ 11.
  • mehr Plattformen unterstützt

Hauptnachteile für mich:

  • EventListener-Muster Ich kann nicht herausfinden, wie die Berührungseingabe Auswirkungen auf andere Objekte als den Knoten hat, der das Ereignis ausgelöst hat.
  • Wir benutzen eine Menge Text-only-Buttons zum Debuggen und sie sind schwer zu verteilen :)
  • Mangel an Dokumentation und Beispielcode. Zum Beispiel konnte ich nirgendwo eine Dokumentation finden, wie man die Layout-Klasse benutzt.

Es ist eine Menge Arbeitsportierung, aber wir mussten uns dafür entscheiden, es zu riskieren, da wir am Ende eine veraltete Code-Basis behalten würden. Es dauerte ungefähr 5 Personentage, um unser Spiel zu übertragen. Das Spiel ist jetzt stabil und wir haben keinen einzigen Fehler in Cocos gefunden.

    
ohthepain 15.05.2014 09:19
quelle
3

Ich denke, es ist C ++ 11

  1. auto
  2. Lambda

Und es hat keine unnötige Verwendung von Präfix CC

    
bkmagnetron 10.05.2014 17:28
quelle
2

Eine der Änderungen zwischen Cocos2d-x 2.1.5 und 2.2 war das Entfernen von Vorlagen für Projekte in XCode (ich weiß nicht, ob Projektvorlagen in VS vorhanden waren, usw.).

Das neue Build-System erstellt Projekte unter der Cocos2d-x-Installation (zumindest auf dem Mac), und dort scheinen die Projektdateien auf sie zu verweisen. Dies macht es sehr schwierig, das Projekt ohne manuelle Anpassung zu verschieben. Es macht auch das Konfigurationsmanagement schmerzhafter, je nachdem, wie Sie Ihr System einrichten (z. B. ein root / tree wie svn oder ein "Drop it anywhere" wie git).

Außerdem ist die Cocos2d-x-Bibliothek als eine Bibliothek aufgebaut. In früheren Inkarnationen wurde es direkt in das Projekt eingefügt. Auf der einen Seite, wenn Sie den Root-Bibliothekscode nicht ändern, ist dies sinnvoll. Auf der anderen Seite, wenn Sie gelegentlich Dinge für ein bestimmtes Projekt optimieren, haben Sie alle Ihre Projekte geändert, die davon abhängen. Yin / Yang.

Ich bin immer noch sehr positiv auf Cocos2d-x. Ich habe noch kein Upgrade auf 3.0 oder 2.2 durchgeführt. Wenn es ein wenig reifer wird, werde ich umschalten, ungeachtet der Änderungen. Für das, was ich brauche, bin ich mir ziemlich sicher, dass es den Job (gut) noch erledigen wird.

    
FuzzyBunnySlippers 21.12.2013 00:41
quelle

Tags und Links