2009-09-28 10 views
9

私のiPhoneアプリケーションで画像の「ページカール」アニメーションを作成しようとしています。私はUIViewAnimationTransitionCurlUp、それはドキュメント化されていないCore Animationの兄弟ですが、アニメーション化する必要がある画像は、透明でないPNGです(不均一な(一部のアルファピクセル))アウトラインです。前述の既定のトランジションを使用すると、アニメーションが開始されるとすぐにそれらのアルファピクセルが黒く塗りつぶされます。これはひどく醜いです。カスタムページのカールコアアニメーションを作成するにはどうすればよいですか?

したがって、自分のCore Animationを作成しようとします。私は主題を研究しようとしましたが、関連する技術の概要を見つけることができませんでした。実装はもちろん、単一のプロパティ変更よりも複雑でなければならないでしょう。私は、CATransform3Dでさえ、この目的のために制限されるという感覚を持っています。画像は、異なる部分に適用される異なる3D変換。どのようにしてこの問題について話し合うでしょうか?私はどんな考えや考えにもとても感謝しています!

ベスト、 イーライ

+1

コアアニメーションは、OpenGLの抽象化です。したがって、トランジションは実際にはレイヤのOpenGL操作です。あなたがOpenGLでカスタムアニメーションを定義し、それをCoreAnimationフレームワークで使用する方法があるかどうかはわかりません。それが可能かどうかを私が最初に調べることです。 –

+0

あなたはこれに対して良い解決策を見つけましたか? –

+0

alku83、本当に..アニメーション化されたUIImageViewで画面をオーバーレイさせることになりました。 – eliego

答えて

6

Coreyが指摘するように、おそらくOpenGL ESと一緒に行く必要があります。コアアニメーションは、レイヤーを使用して作業する能力を公開します。even in 3-Dですが、すべてのレイヤーは長方形であり、そのまま操作されます。 animate the flipping of a layer about an axis、さらにはwith a perspective distortionでも構いませんが、実行するカーブの種類はCore Animation APIを使用して管理できるより複雑です。

イメージを小さなレイヤーのメッシュに分割し、CATransform3Dを使用してこのカーブ効果を作成することができますが、その時点でOpenGL ESを使用して同じ効果を作成することもできます。

0

ブックCore Animation for Mac OS X and the iPhone: Creating Compelling Dynamic User Interfaces実用的なプログラマーからは、カスタムCore Animationのアニメーションを作成するに役立つことがあります。

+4

この場合、それは役に立ちません。 Core Animationの本は、このテクノロジーの優れた紹介となり、フレームワークが提供するさまざまなレイヤータイプやアニメーションで何ができるのかを説明しますが、必要な極限のカスタマイズには至りません。 –

関連する問題