Frage an opengl-es, core-graphics, iphone – iPhone-Brettspiel: OpenGL ES oder CoreGraphics? [geschlossen]

17

Ich möchte ein Brettspiel (ähnlich wie Dame) für das iPhone programmieren. Wäre OpenGL ES oder CoreGraphics eine bessere Option? Was verwenden die meisten Spiele dieses Typs im App Store?

Deine Antwort

7   die antwort
2

Für diesen einen definitiv Kern Grafik und Kern Animation. Jeff LeMarche hat eine Beispielvorlage für ein Black Jack-Spiel in seinem Blog - ich habe gerade ein Suduko-Puzzle für diesen Ansatz fertiggestellt. Was cocos2D anbelangt, das ich für ein Plattformspiel verwende - openGL würde die Grafik weder verbessern noch verbessern - es wird die Grafik definitiv nicht besser aussehen lassen - Sie können Ihr Herz bei diesem Spiel schlagen und sich sicher fühlen und wissen, dass es großartig aussehen wird . Das Erlernen von Cocos2D ist zu aufwändig - genau wie das Erlernen von openGL ES - verwenden Sie einfach die Kerngrafiken und bringen Sie es auf den Markt. Soweit Sie OpenGL ES für die Zukunft kennen - natürlich -, sollten Sie jedoch den "Kern" von Apple verstehen, bevor Sie dies versuchen.

3

sich die Benutzeransicht an einer festen Position befindet und Sie keine Laufzeit-Texturzuordnung oder spezielle Beleuchtung benötigen, sind die Kerngrafiken einfacher. Ansonsten würde ich mich für OpenGL entscheiden (oder für eines der Game-Building-Kits von Drittanbietern wie Unity, die es einfach machen).

Es kommt wirklich darauf an, welchen Look du suchst.

21

Eigentlich würde ich in diesem Fall Core Animation oder auch nur UIViews selbst vorschlagen. Wenn Sie alle Ihre Elemente direkt in einer einzigen Ansicht über Core Graphics zeichnen und diese Ansicht dann für jeden Animationsrahmen aktualisieren, erhalten Sie eine schreckliche Leistung.

Ich würde vorschlagen, die einzelnen Elemente des Spielplans (Spielsteine, Spielsteine, Spielfeldquadrate usw.) als einzelne UIViews oder CALayers zu zeichnen und dann diese Ebenen oder Ansichten zu animieren. UIViews sind nicht viel schwerer als CALayers und verwenden Core Animation hinter den Kulissen, um einfache Bewegungen, Skalierungen oder Fading-Animationen auszuführen. Sie können auch auf Berührungsereignisse reagieren. CALayers sind nützlich, wenn Sie ein plattformübergreifenderes Spiel (Mac und iPhone) erstellen möchten oder komplexere Animationen ausführen müssen.

Für ein 2-D-Spiel würde ich OpenGL so lange aussetzen, bis Sie absolut sicher sind, dass Sie nicht die Leistung erhalten, die Sie von Core Animation erwarten. OpenGL ist viel weniger elegant zu programmieren.

Als gutes Beispiel für ein Brettspiel mit Core Animation hat Apple das mitgeliefertGeekGameBoard-Beispielcode. Obwohl es sich um eine Mac-Anwendung handelt, kann der Core Animation-Code direkt auf das iPhone übertragen werden.

3

OpenGL wird, wenn es richtig gemacht wird, wahrscheinlich besser aussehen. Mein Verständnis ist jedoch, dass es viel schwieriger ist als CoreGraphics, wenn Sie nicht wissen, wie es funktioniert.

Wenn Sie mit CoreGraphics nicht vertraut sind, ist es einfacher, es zu erlernen. Ich weiß nicht viel über OpenGL. Als ich ein Spiel schrieb, habe ich es in CoreGraphics gemacht und es hat sich als ziemlich gut herausgestellt.

Mit OpenGL sieht es nicht besser aus. Für einfache Spiele wird CoreAnimation gut funktionieren! bentford
"OpenGL wird, wenn es richtig gemacht wird, wahrscheinlich besser aussehen." Ich stimme diesem Kommentar überhaupt nicht zu. Sie werden wahrscheinlich Aliasing-Probleme, Probleme beim Filtern von Texturen usw. haben, die Sie bei vorgerenderten Teilen nicht haben. Wenn Sie damit gemeint hätten, dass es mit 3D-Rotation um das Brett eindrucksvoller wäre, wäre dies natürlich der Fall. jv42
6

Sie könnten auch cocos2d für das iPhone ausprobieren - es ist eine ziemlich umfassende 2D-Spielbibliothek; Es hat Tilemaps, Sprites, Parallaxe, Zeitplanung usw. Ich benutze es für mein Spiel und es hat mir ziemlich geholfen.

http://code.google.com/p/cocos2d-iphone/

Wenn Sie Cocos2D verwenden, werden Sie niemals einen Block treffen, der auf eine starke Frame-Animation zurückzuführen ist. Sie können auch ausgefallene Partikeleffekte hinzufügen. Es ist sehr einfach zu lernen und Ergebnisse zu sehen. Bietet Szenenverwaltung. Rajavanya Subramaniyan
0

OpenGL. Auf lange Sicht wird es sich lohnen, und ich dachte, die Lernkurve war noch einfacher als bei CoreGraphics für 2D-Sprite-Inhalte.

2

was bei einem Brettspiel wahrscheinlich nicht der Fall ist, entscheiden Sie sich für CoreGraphics. Sie erhalten den Luxus, auf einer höheren Abstraktionsebene zu arbeiten, und Sie erhalten auch einige Dinge, die Sie von Hand schreiben müssten, zum Beispiel Animationen. (S. Ich nehme an, Sie sprechen über 2D.)

CoreGraphics sicher. Es kann problemlos 20 - 30 Sprites gleichzeitig auf dem Bildschirm animieren, ohne dass Performanceprobleme auftreten. Das Ändern ist schneller, da Sie mit Tools wie Photoshop Ihre Bilder neu erstellen können. OpenGLES ist vielleicht sehr nett, wenn Sie einige wirklich coole Kamerabewegungen oder wirklich nette Animationen machen möchten. John Ballinger
Natürlich können Sie auch Ihr beliebtes Photoshop mit OpenGL verwenden. Apple bietet Code zum Laden von UIImages als OpenGL-Texturen. Frank Krueger

Verwandte Fragen