2009-07-04 12 views

答えて

21

実際、この場合、私が示唆しているのは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に直接変換できます。

3

OpenGLを正しく実行すると、より見栄えがよくなります。しかし、私が理解していることは、CoreGraphicsよりもはるかに難しいことです。

しかし、あなたがそれに精通していない場合、CoreGraphicsは簡単に取り出せます。私はOpenGLについてよく知らないので、ゲームを書くときにCoreGraphicsでやっていて、それはかなり良いと判明しました。

+4

"OpenGLが正しく実行されていると、おそらく良く見えます。"私はそのコメントに完全に同意しない。おそらくエイリアシングの問題、テクスチャのフィルタリングの問題など、あなたは事前レンダリングされた作品を持っていないでしょう。もちろん、あなたが意図したことは、 "それはボードの周りに3D回転でもっと印象的だろう"、そうです。 – jv42

+0

OpenGLではうまく見えません。簡単なゲームの場合、CoreAnimationはうまく動作します! CoreGraphicsは確かに – bentford

3

あなたのパースペクティブが主にトップビューの場合、ユーザービューは固定位置にあり、ランタイムテクスチャマッピングや特別な照明は必要ありません。コアグラフィックスが簡単になります。さもなければ、私はOpenGL(あるいはUnityのようなサードパーティのゲームビルディングキットのひとつでシンプルになっています)に行きます。

これは実際にどのような外観になっているかによって異なります。

2

ボードゲームではあまり楽しめない人は、CoreGraphicsをご覧ください。より高い抽象レベルで作業することの贅沢を得て、あなたは手作業で書かなければならないいくつかのもの、例えばアニメーションを手に入れます。 (P.S.私はあなたが2Dについて話していると仮定しています)

+2

です。パフォーマンス上の問題はほとんどなく、同時に20〜30のスプライトを同時にアニメーション化することができます。 Photoshopのようなツールを使ってイメージを再構築することができるので、修正が速くなります。 OpenGLESは本当にクールなカメラの動きや本当にきれいなアニメーションをやりたければ本当にきれいかもしれません。 –

+0

あなたは確かにOpenGLで貴重なPhotoshopを使用することができます。 AppleはUIImageをOpenGLテクスチャとしてロードするコードを提供しています。 –

6

iphone用のcocos2dもチェックアウトすることができます。これはかなりフル装備の2Dゲームライブラリです。それはタイルマップ、スプライト、視差、スケジューリングなどを持っています。私はそれを私のゲームに使っています。それは私をかなり助けてくれました。

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

+0

Cocos2Dを使用すると、重いフレームのアニメーションが原因であるブロックを決して叩くことはありません。また、派手なパーティクルエフェクトを追加することもできます。学習して結果を見るのはとても簡単です。シーン管理を提供します。 –

0

のOpenGL。それは長期的には価値があるでしょう。私は、2DスプライトのためのCoreGraphicsの学習曲線がさらに簡単だと思いました。

2

これは間違いなくコアグラフィックスとコアアニメーションのためです。 Jeff LeMarcheはブログでBlack Jackゲームのサンプルテンプレートを用意しています。このアプローチでsudukoパズルを終えました。私がプラットフォームゲームに使っているcocos2Dの場合、OpenGLはグラフィックスを改善したり強化したりすることはありません。グラフィックスの見栄えは間違いありません。あなたの心を光って、安全に感じることができます。 。このためのCocos2Dの学習は、あまりにもオーバーヘッドです.OpenGL ESを学ぶ場合と同じです。コアグラフィックを使用してそこから取り出してください。OpenGL ESについては未来まで知っている限り - もちろん、Appleの「コア」を理解してから試してみてください。

関連する問題