2017-05-17 7 views
0

1つのショッピングアプリ内にfidgetスピナーアニメーションを作成するリクエストがあります。これは購入をクリックする前にユーザーに「気分」を与えて、UIImageViewをアニメーション化する必要があることを意味します。私はあなたがスピード/回転を可能にするカスタムのワンタッチジェスチャー認識機能を追加しましたが、画像は回転するだけですぐに停止し、ユーザーが移動するとすぐに停止します。 ? SpriteKitを使って何かができるか考えてみましょう。Fidget Spinnerアニメーションスウィフト?

+0

1.あなたは、私は私はちょうど私がコアアニメーションで似た何かを達成する方法を考えていたSpriteKitベースを使用していないあなたの試したコード – paper1111

+0

を表示Core Animationのではなく、SpriteKitベース、2を使用する必要があります。 –

+1

私は質問に似たようなものに答えました[ここ](http://stackoverflow.com/a/33821933/4447772) –

答えて

1

私は角速度と運動量に関するコメントを残しましたが、この質問に答えたいので、助けが必要な次の人がこれを行う方法を知っています。

角速度は紡績のスピードです。あなたがしたいことは、回転を開始する角度のインパルスを適用することです。質量と角運動量は、フィギットスピナーの背後にある実際の物理学のように、時間が経過するにつれてそれを減速させます。

fidgetSpinnerクラス

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) { 
    fidgetSpinner.physicsBody?.applyAngularImpulse(1) 
} 

touchesBegan方法にこれを追加やシーンに追加しますが、タッチが内側とfidgetSpinnerにあったことを確認してください。

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) { 
    let touch = touches.first?.location(in: self) 
    if fidgetSpinner?.contains(touch) { 
     fidgetSpinner.physicsBody?.applyAngularImpulse(5) 
    } 
} 
+0

同じことが当てはまりますが、私の質問はSpriteKitなしで効果を達成していましたが、これはSpriteKitで機能します。 –

+0

あなたは私のコメントが役に立つと言いました、そして私のコメントは角速度と勢いについて話しました。両方ともSpriteKitのコンセプトであり、将来解決策を探している人に役立つかもしれないものです。 –

+0

SpriteKitを使わずにエミュレートしたので、私はそうではないと主張していませんでした。あなたのコメントは確かに役立ちました。角運動量と角速度は役に立ちました。したがって、私はあなたの答えにも投票しました。 –