UIBezierPath 上のポイント A からポイント B に移動するレイヤーがあります。CAAnimation と UIBezierPath を参照している多くのサンプルを見つけました。しかし、指定したポイントからベジエ パス上の別のポイントにのみレイヤーを移動する必要があります。
任意の提案をいただければ幸いです。
ありがとう
UIBezierPath 上のポイント A からポイント B に移動するレイヤーがあります。CAAnimation と UIBezierPath を参照している多くのサンプルを見つけました。しかし、指定したポイントからベジエ パス上の別のポイントにのみレイヤーを移動する必要があります。
任意の提案をいただければ幸いです。
ありがとう
これが役立つことを願っています。
UIBezierPath *trackPath = [UIBezierPath bezierPath];
.
.
.
CAKeyframeAnimation *anim = [CAKeyframeAnimation animationWithKeyPath:@"position"];
anim.path = trackPath.CGPath;
anim.repeatCount = 1;
anim.duration = 2.0;
[layerToAnimate addAnimation:anim forKey:@"pathGuide"];
ベジェ パスが円または半円の場合は、パスをスキップして、代わりに大きな正方形のレイヤーにポイントを追加できます。その大きな正方形のレイヤーの中心から一定の距離になるようにポイントを設定します。次に、移動に必要な角度に関係なく、中心を中心にz軸上で大きなレイヤーを回転させることができます。他に何をする必要があるのか 正確にはわかりませんが、物事を少し単純化するようです。
私はこのようなことをして、このチュートリアルを見つけようとしていました。特定のパスをたどる方法を示しています。車 (CALayer) と UIBezierpath をレース トラックとして使用し、次の順序で解決します。
車がたどるパスを定義します (この場合は BezierPath)。トラックを定義する黒い線を描きます。(N/A) トラックの白い破線の中心線を描く。(N/A) 車を定義するレイヤーを作成します。(あなたのレイヤー) パスに沿って車をアニメーション化します。(あなたが尋ねたもの!)
ここで参照投稿を確認できます: http://nachbaur.com/2011/01/07/core-animation-part-4/
ソースコードはこちらからダウンロードできます: http://cdn5.nachbaur.com/wp-content/uploads/2011/01/CALayerAnimTest.zip?25881d
お役に立てれば!
よろしく、
ホルヘ。