Antworten:
Es hängt davon ab, was Sie bauen. Möglicherweise können Sie sogar mit Core Animation davonkommen, wenn es nicht grafikintensiv ist (meine letzten beiden Spiele basierten darauf, Core Animation zu nutzen).
Wenn Sie vorhaben, viele Grafiken zu veröffentlichen, würde ich Cocos2D für Ihr 2D-Spiel wärmstens empfehlen . Es basiert auf OpenGL ES und bisher macht es mir wirklich Spaß. Die Lernkurve verlief relativ reibungslos.
Und vieles mehr. Ich würde es herunterladen und mit einigen der Beispiele spielen, die sie enthalten haben, die einen Großteil ihrer Funktionalität demos.
Nach meiner Erfahrung sind die meisten 2D-Spiele auf dem iPhone in OpenGL ES geschrieben. Ihre 2D-Spieldemo ist ebenfalls in OpenGL geschrieben. Ich würde mich für OpenGL entscheiden, schon allein deshalb, weil Sie in OGL eher viel mehr Ressourcen für spielbezogene Probleme finden als in CoreGraphics.
Es gibt auch einige Funktionen auf Betriebssystemebene, die das Arbeiten in OpenGL weniger schmerzhaft machen als auf einigen anderen Plattformen. Sie können beispielsweise die NSString-Klasse verwenden, um in einen OpenGL-Kontext zu rendern und von Anfang an vollständige, dynamische Unicode-Unterstützung zu erhalten.
Kurz gesagt, sie konzentrieren sich auf verschiedene Zwecke.
CoreGraphics: Compositing und Vektorgrafiken. Wenn Sie nur diese benötigen, ist CoreGraphics eine gute Wahl.
CoreAnimation: Animieren Sie Ebenen von 2D-Objekten.
OpenGL befindet sich unter diesen beiden (und auch CoreImage / CoreVideo). Durch die niedrigere Stufe erhalten Sie ein höheres Maß an Kontrolle. Und erfordert, dass Sie bei der Implementierung mehr Arbeit leisten.
Es hängt also wirklich davon ab, was Sie tun müssen. Und sobald Sie überlegen, dieses Spiel auf andere Plattformen zu portieren, sieht OpenGL viel attraktiver aus, da es praktisch überall unterstützt wird.