1

iPhoneアプリでシーンを描くのが最善の方法を見つけようとしています。ここでの状況は次のとおりです。iPhoneでQuartzを使っていくつかの変形画像を描く

  • 私は私が背景の上に、いくつかの異なる画像を描画したい背景画像
  • を持っていると思い、私は
  • に描画したい単一のビューを持っています(回転、スケーリング)
  • 私は背景画像の上に複数のテキストブロックを描画したいと思います - これらを変換し、それらを変換する(回転、スケーリング)必要があります。
  • これらの画像とテキストブロックをアニメーション化したいと思います画面上に盛り上がっています(最初の繰り返しでこれを行う必要はありませんが、今後これを行うことを妨げるパスを選択したくありません)。

私はどこから始めるべきかわかりませんが、物事はあまりアニメーション化されていないので、これは本当にパフォーマンスが良いようには見えないので、Quartzが行く方法だと思っています。

私は考えることができるいくつかの可能な解決策:

  • 使用クオーツ:ビューのcgcontextに背景を描画します。いくつかのCGレイヤーを作成し、それらにテキスト/イメージを描画します。 CGlayersを変換する(できますか?)次に、メインのCGContextにレイヤーを描画します。

  • OpenGLを使用してください。私が本当に必要な場合を除きます。

アイデア?

ありがとうございました。

答えて

1

ほとんどがマルコに同意します。 CAはこの作業に最適です。ビューを設定し、一連のレイヤーを追加します。

ただし、いくつかの点があります。

NSString UIStringDrawingカテゴリメソッドを使用してテキストを直接描画できます。本当にうまく動作し、UILabelのオーバーヘッドはありません。

CoreGraphicsによる描画は、ではありません。は、CoreAnimationがレイヤーをインテリジェントにキャッシュするため遅すぎます。つまり、レイヤーがsetNeedsDisplayメッセージで送信されない限り、1度だけ描画され、次にCAはコピーをアニメートします。

+0

その間、アニメーションの前に、私はただCGLayersを使うべきですか? また、CoreGraphicsとCoreAnimationの違いは何ですか?それらは両方ともQuartzの一部ですか?私は別の名前を区別することに問題があります.... 誰もCoreAnimation/CALayers/CGLayersのための良いリソースがありますか? – aloo

+0

CGLayersはCore Graphicsの一部です。 CALayersはCore Animationの一部です。どちらも他のものの一部ではありませんが、Core AnimationがCore Graphicsをフードの下で使用していると推測しているかもしれません。違いは、Core Animationは簡単にアニメーション化できるように設計されていますが、Core Graphicsはグラフィックスを描画するためだけに設計されています。 –

+0

よろしくお願いいたします。この作業ができました。 – aloo

1

imag(それらに変換情報を適用することができます)とUILabelsのテキストにCoreAnimation CALayersを使用してください。 CoreGraphicsを使用した描画はアニメーション化するには遅すぎます。

関連する問題