問題タブ [cakeyframeanimation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 一時停止/再開したアニメーションはデリゲート メソッドを呼び出さない
アニメーションがそのコースを実行できるようになったときに、animationDidStart: と animationDidStop:finished: を呼び出す CAKeyframeAnimation があります。
中断中にアニメーションを一時停止すると (通話、ホームボタンが押されたなど)、animationDidStop:finished: が NO のフラグで発生します。
ただし、一時停止したアニメーションを再開した後、animationDidStart: と animationDidStop:finished: が再び起動されることはありません。アニメーションは視覚的に継続して完了しますが、イベントが表示されません。ゲームループを再開できるように、アニメーションがいつ停止するかを知る必要があります。
アニメーションの一時停止/再開のためにこれに従いました。
私が間違っていることを教えてください。ありがとう!
iphone - パスを持つ CAKeyframeAnimation; アニメーションを拡張するためにパスを拡張できますか?
パズルのピースで作られた線路に沿って列車がゆっくりと移動するゲームはよく知られています。線路上にそれ以上のピースを並べることができない場合、列車は衝突して負けます。これを行う 1 つの方法は、列車が CAKeyframeAnimation で定義されたパスをたどるようにすることです。
アニメーションを作成してレイヤーに追加したら、パスを延長できますか? (おそらく CGPathRef を保持して追加することによって) または、新しいパスと新しいアニメーションを作成して、古いものを置き換える必要がありますか?
iphone - 時間ではなく入力値(タッチ)に基づくiPhoneアニメーション
ここでのBradLarsonの回答に示されているように、アニメーショングループアプローチに完全に適したアニメーション効果を得るには、入力に従ってアニメーションを進める必要があります。具体的には、タッチと検出されたタッチの位置。touchsMovedの処理は簡単です。タッチごとに要素の位置を設定できますが、CoreAnimationのアプローチのようにスムーズではありません。
溝のあるトラックに大理石があると想像してみてください。大理石を任意の位置に任意の速度で一方向または他の方向に押し込みたいです。アニメーションはそのようなことをしなければならず、タッチに応じてパスに沿って視覚要素を動かします。CAKeyframeAnimationにはパスビットが正確にありますが、フレームからフレームへの遷移は、他の要因ではなく、一方向の経過時間に基づいて行う必要があるようです。
1月31日更新-これまでの回答に感謝しますが、実際に問題を解決しているものはありません。オプションを選択するためにドラッグする円形のメニューがあります。すべてを一緒に移動する必要があり、回転変換が適用され、サブビューに逆回転変換が適用されたビューを使用して、アイコンがすべて適切な観覧車の向きで回転するように回避しました。アイコンがわずかに卵形のパスに沿ってアニメーション化されていると、本当に見栄えが良くなります...大理石の説明は、私がやろうとしていることを明確にするための試みです。おそらく、溝内を移動するすべての磁石をはじくように方向付けられた磁石を想像する方がよいでしょう。1つを移動すると、隣接する磁石も移動しますが、必ずしもドラッグされた磁石がパスのカーブに沿って移動する方向に移動する必要はありません。
今のところ問題は、1つの円で作成された単純なパスをたどることですが、速度や方向を計算せずに、タッチだけで位置を制御して、任意のパスに沿ってオブジェクトをアニメーション化する方法を知りたいです。
quartz-graphics - CGAffineTransformの開始点を設定します
CGPathAddEllipseInRectに続くCAKeyframeAnimationを使用して、円に沿ってUIViewをアニメーション化しています。ただし、ビューは、最初に配置されたフレームに関係なく、常に同じ場所から開始するように見えます。パス上のビューの開始位置を調整する方法はありますか?
ありがとう!
objective-c - iOS - UIScrollView で addSubView を使用する
私はこのコードを使用しようとしています:
私がやっていることは、後で CAKeyFrameAnimate を取得するレイヤーを取得し、そのレイヤーを UIView 内に配置して、標準のビュー関数を使用できるようにすることです。
しかし、私は脱線します...次に、UIViewとレイヤーをUIScrollView内に配置して、その優れたUIScrollView機能をすべて取得します。
少なくとも、これが私がatmで機能すると信じている方法です。
現在、白い画面が表示されるだけですが、最初の行を次のように置き換えると、いくつかの助けが必要です。
再生するアニメーションを取得しますが、今ではズームの良さがあります。
どんな助けでも大歓迎です。
編集: 要約すると、私がやろうとしているのは、UIScrollView 内の UIView 内のレイヤー内に CAKeyFrameAination を持つことです。このパッキングの理由は、開始を停止してズームインできるアニメーションが必要だからです。コードの最初の 3 行は空白の白い画面を生成しますが、それらを myScrollView にレイヤーを配置する最後のビットに置き換えると再生されますしかし、予想通り、私はズームしません
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
UIView を期待しており、レイヤーを期待するように指示しても機能しません。これがより明確であることを願っています。
iphone - 完了時の CAKeyframeAnimation
クラスに複数の CAKeyframeAnimation オブジェクトがあります。
それらはすべてデリゲートとして自分自身を持っています。
私の animationDidStop 関数では、呼び出しがどこから来ているかをどのように知ることができますか?
animationID などのように CAKeyfameAnimation に渡すことができる変数はありますか?
ありがとう、
ティー
cgaffinetransform - CABasicAnimationとCAKeyFrameAnimationおよびCGAffineTransformをいつ使用するのですか?
CABasicAnimationとCAKeyFrameAnimationおよびCGAffineTransformをいつ使用するのですか?
ios - CAKeyframeAnimation-パスに沿って移動し、イージングを使用します
CAKeyframeAnimationを使用してパスに沿って何かを移動すると同時に、ある種のイージングを使用して加速または減速することは可能ですか?TimingFunctionsとkeyTimesがあることは知っていますが、単にパスに沿って移動している場合、それらがどのように機能するかわかりません。