iPhone用のボードゲーム(チェッカーに似ています)をプログラムしたいと思います。 OpenGL ESまたはCoreGraphicsはより良い選択肢でしょうか? App Storeでこの種のゲームのほとんどは何を使用していますか?iPhoneボードゲーム:OpenGL ESまたはCoreGraphics?
答えて
実際、この場合、私が示唆しているのはCore AnimationかUIViewsだけです。 Core Graphicsを使用してすべての要素を1つのビューで直接描画し、そのアニメーションフレームごとにそのビューを更新すると、恐ろしいパフォーマンスが得られます。
個々のUIViewやCALayersとしてゲームボードの個別の要素(小片、カウンター、ボードの四角など)を描画し、それらのレイヤーやビューをアニメーション化することをお勧めします。 UIViewはCALayersよりも重すぎるものではなく、コアアニメーションを使って簡単な動き、スケーリング、アニメーションのフェードを行います。彼らはまた、タッチイベントに応答することができます。 CALayersは、よりクロスプラットフォーム(MacとiPhone)のゲームを構築したい場合や、より複雑なアニメーションを行う必要がある場合に便利です。
2-Dゲームでは、Core Animationから必要なパフォーマンスを得ることができないと確信するまでOpenGLを延期します。 OpenGLはコード化するのがずっとエレガントではありません。
Core Animationを使用してボードゲームを行う方法の良い例として、AppleはGeekGameBoard sample codeを提供しています。それはMacアプリケーションですが、Core AnimationのコードはiPhoneに直接変換できます。
OpenGLを正しく実行すると、より見栄えがよくなります。しかし、私が理解していることは、CoreGraphicsよりもはるかに難しいことです。
しかし、あなたがそれに精通していない場合、CoreGraphicsは簡単に取り出せます。私はOpenGLについてよく知らないので、ゲームを書くときにCoreGraphicsでやっていて、それはかなり良いと判明しました。
あなたのパースペクティブが主にトップビューの場合、ユーザービューは固定位置にあり、ランタイムテクスチャマッピングや特別な照明は必要ありません。コアグラフィックスが簡単になります。さもなければ、私はOpenGL(あるいはUnityのようなサードパーティのゲームビルディングキットのひとつでシンプルになっています)に行きます。
これは実際にどのような外観になっているかによって異なります。
ボードゲームではあまり楽しめない人は、CoreGraphicsをご覧ください。より高い抽象レベルで作業することの贅沢を得て、あなたは手作業で書かなければならないいくつかのもの、例えばアニメーションを手に入れます。 (P.S.私はあなたが2Dについて話していると仮定しています)
です。パフォーマンス上の問題はほとんどなく、同時に20〜30のスプライトを同時にアニメーション化することができます。 Photoshopのようなツールを使ってイメージを再構築することができるので、修正が速くなります。 OpenGLESは本当にクールなカメラの動きや本当にきれいなアニメーションをやりたければ本当にきれいかもしれません。 –
あなたは確かにOpenGLで貴重なPhotoshopを使用することができます。 AppleはUIImageをOpenGLテクスチャとしてロードするコードを提供しています。 –
iphone用のcocos2dもチェックアウトすることができます。これはかなりフル装備の2Dゲームライブラリです。それはタイルマップ、スプライト、視差、スケジューリングなどを持っています。私はそれを私のゲームに使っています。それは私をかなり助けてくれました。
Cocos2Dを使用すると、重いフレームのアニメーションが原因であるブロックを決して叩くことはありません。また、派手なパーティクルエフェクトを追加することもできます。学習して結果を見るのはとても簡単です。シーン管理を提供します。 –
のOpenGL。それは長期的には価値があるでしょう。私は、2DスプライトのためのCoreGraphicsの学習曲線がさらに簡単だと思いました。
これは間違いなくコアグラフィックスとコアアニメーションのためです。 Jeff LeMarcheはブログでBlack Jackゲームのサンプルテンプレートを用意しています。このアプローチでsudukoパズルを終えました。私がプラットフォームゲームに使っているcocos2Dの場合、OpenGLはグラフィックスを改善したり強化したりすることはありません。グラフィックスの見栄えは間違いありません。あなたの心を光って、安全に感じることができます。 。このためのCocos2Dの学習は、あまりにもオーバーヘッドです.OpenGL ESを学ぶ場合と同じです。コアグラフィックを使用してそこから取り出してください。OpenGL ESについては未来まで知っている限り - もちろん、Appleの「コア」を理解してから試してみてください。
- 1. iPhone OpenGL ESペイントアプリブラシエフェクト
- 2. iPhone/iPad、OpenGL ES、CADisplayLink
- 3. glScissor help(iPhone OpenGL ES)
- 4. OpenGLまたはOpenGL ES
- 5. iphone opengl es glDrawElementsの問題
- 6. iPhone iOS 5.0 OpenGl ES 2.0
- 7. glGetUniformLocationリターン-1のOpenGL ES(iPhone)
- 8. iPhone OpenGL ESテクスチャ2Dマスキング
- 9. iPhoneのOpenGL ES 1.1のOpenGLカラーインデックス?
- 10. iPhone OpenGL ESの間違ったアルファブレンディング
- 11. Core AnimationまたはOpenGL ES?
- 12. テクスチャアトラスの実装、triangle_stripまたはtriangles。 iPhone opengl es
- 13. IPhone OpenGL ESの1つまたは複数のビュー?
- 14. iPhone OpenGL ES 2dの背景テクスチャ
- 15. iPhone(OpenGL ES)上のglPolygonModeの代替?
- 16. iPhone用OpenGL ESでDepthBufferをリクエストする
- 17. OpenGLコードをiPhoneのOpenGL ESに移植する際の問題
- 18. OpenGL ESを使用したiPhoneでのアンチエイリアスの問題
- 19. は、OpenGL ES 3.0コンテキスト
- 20. iPhone - OpenGL ES 1.1 - Alpha Blendはテクスチャを間違った色にします
- 21. OpenGL ESのためのツール?
- 22. 移調行列は - - のOpenGL ES - 垂直に水平iPhone
- 23. iphoneの別のスレッドでOpenGL ESを使用するには?
- 24. OpenGL ES for iPhoneでビデオを表示する方法は?
- 25. は、OpenGL ESオブジェクトのアルファ値を変更するiPhone
- 26. OpenGL-ESへのOpenGL - glBegin();
- 27. OpenGLフォグとOpenGL ESフォグ
- 28. OpenGL vs OpenGL ES(GLcharなど)
- 29. OpenGL ESとOpenGL互換シェーダ
- 30. iPhone OpenGLまたはCoregraphicsで光沢のある円を描く最も良い方法は何ですか?
"OpenGLが正しく実行されていると、おそらく良く見えます。"私はそのコメントに完全に同意しない。おそらくエイリアシングの問題、テクスチャのフィルタリングの問題など、あなたは事前レンダリングされた作品を持っていないでしょう。もちろん、あなたが意図したことは、 "それはボードの周りに3D回転でもっと印象的だろう"、そうです。 – jv42
OpenGLではうまく見えません。簡単なゲームの場合、CoreAnimationはうまく動作します! CoreGraphicsは確かに – bentford