2009-05-10 11 views
5

私は次のことをしたい:Core AnimationまたはOpenGL ES?

タップしたポイントの周りに3つのcriclesを描く。 Core AnimationまたはOpenGL ESでこれを行う方が良いですか?

どこから始めますか?

+1

OpenGLにはスペースがありません。また、IPhoneではOpenGL ES(組込みシステム)です。私はあなたの質問を編集しました。 – Zifre

+1

どのようなサービス;-)ありがとう – Stefan

答えて

4

を参照してくださいクォーツ2Dで行うことができ、コアグラフィックスフレームワークは、あなたが望むものと考えられます。 UIViewをサブクラス化し、次に2つのメソッドdrawRect:touchesEnded:withEvent:をオーバーライドするとよいでしょう。

タッチイベントがUIViewで終了すると、touchesEnded:withEvent:に渡されたイベントからの最後のタッチのポイントを取得し、サブクラス化されたUIViewのインスタンスに何らかの形で格納できます。

その後、drawRect:の実装では、あなたが保存された最後のタッチポイントを得るでしょうし、ここで説明したように、CGContextAddEllipseInRectに3つの呼び出しを使用して、その周りに3つの円を描く:Quartz 2D Programming Guide: Paths(Appleデベロッパは、必要に応じて登録)。

+0

うわー、スーパーメソッドとdocuで始まる!ありがとう。 – Stefan

2

コアグラフィックスは間違いなくシンプルであり、2Dではより優れています。 OpenGL ESは3D用に作られていますが、2D用にも使用できます。どちらも使用できますので、既に知っている方はそれを使用してください。それほど重要ではありません。

私は既にOpenGLを知っていましたので、私は2DでもOpenGL ESを使用する傾向がありますが、これまでに使用していない場合は、Core Graphicsを使用してください。

+0

OpenGL ESよりも2Dグラフィックスの方がコアグラフィックスが優れているのはなぜですか? –

10

私の経験はこれです:私のアプリが複雑になればなるほど、私がやろうとしていることに対してOpenGL ESを使用していたはずです。

あなたの状況で、あなたが説明したものがすべてあるならば、確かにCore Graphicsがそのトリックを行います。しかし、私はそれが3つのサークルよりも多いと思います。

OpenGLでの経験が全くありませんで、ESの学習曲線は約20日間でした。

私のアドバイスは:かなり多くのフレーム間グラフィックスベースのアプリケーションのためのOpenGL ESです。

+0

クール、20日間は大丈夫でしょう。 Apple docuのみを使用しましたか、お勧めの書籍がありますか? – Stefan

+1

私はRed Book(http://www.glprogramming.com/red/)をお勧めします。その次に、KhronosのOpenGLページをチェックしてください(http://www.khronos.org/opengles/)。そしてもちろん、信じられないほどのグーグル。 – Kriem

3

OpenGL ESを学ぶことの利点は、それを学ぶために入れる時間が、今後iPhoneアプリケーションや他のデバイスでうまく機能することです。

OpenGL ESには、円を描くための組み込みの方法がありません。したがって、サインとコサインを使用して、線分からアウトラインを作成してください。

+0

[OK]をOpenGL ESは有望そうです。私は次回それを試してみる、私は2時間無料になる。 – Stefan