5

私は次のことをしたい:

画面をタップし、タップしたポイントの周りにクリクルを 3 つ描きます。Core Animation と OpenGL ES のどちらでこれを行う方が良いですか?

どこから始めればよいですか?

4

5 に答える 5

10

私の経験は次のとおりです。アプリが複雑になればなるほど、やろうとしていたことに OpenGL ES を使用するべきだったことに気づきました。

したがって、あなたの状況では、あなたが説明したことがすべてである場合、確かにCore Graphicsがそのトリックを行います。しかし、3 つの円以上のものがあると思います。

OpenGL の経験がまったくないため、ES の学習曲線は約 20 日でした。

したがって、私のアドバイスは次のとおりです。ほぼすべてのフレーム間グラフィックス ベースのアプリに OpenGL ES を使用します。

于 2009-05-10T19:51:40.247 に答える
4

前述のとおり、Core Graphics フレームワークはおそらく必要なものです。それを実行する良い方法は、UIView をサブクラス化し、2 つのメソッドdrawRect:とをオーバーライドすることtouchesEnded:withEvent:です。

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

次に、 の実装でdrawRect:、保存されている最後のタッチ ポイントを取得し、 への 3 回の呼び出しを使用して、その周りに 3 つの円を描画します。これCGContextAddEllipseInRectについては、こちらで説明しています: Quartz 2D プログラミング ガイド: パス(Apple Developer としての登録が必要です)。

于 2009-05-10T19:20:33.713 に答える
3

OpenGL ES を学習する利点は、それを学習するために費やした時間が、将来 iPhone アプリやその他のデバイスで役立つことです。

OpenGL ES では、円を描画する方法が組み込まれていないため、サインとコサインを使用して線分から円を作成します。

于 2009-05-10T19:57:22.857 に答える
2

Core Graphics は間違いなくシンプルで、2D に適しています。OpenGL ES は 3D 用に作成されていますが、2D にも使用できます。どちらも使えるので、知っている人はそちらを使ってください。それほど重要ではないはずです。

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

于 2009-05-10T19:32:49.683 に答える
1

これは、Quartz 2D (Core Graphics とも呼ばれます) で行うのが最適です。

Apple の Quartz プログラミング ガイドを参照してください。

于 2009-05-10T17:02:27.020 に答える