2017-05-17 4 views
0

Ich habe eine Anfrage, um eine Zappeln Spinner-Animation innerhalb einer Shopping-App zu machen, es soll dem Benutzer ein "Gefühl" vor dem Kauf geben, so dass es eine UIImageView, die animiert werden muss. Ich habe einen benutzerdefinierten Singletouch-Gestenerkenner hinzugefügt, der es dem Benutzer ermöglicht, die Ansicht zu drehen/zu drehen. Das Bild dreht sich jedoch nur und stoppt, sobald der Benutzer loslässt. Was wäre der beste Weg, die Geschwindigkeit beizubehalten ? Wie wäre es mit SpriteKit?Zappeln Spinner Animation Swift?

+0

1. Sie sollten Core Animation verwenden, nicht SpriteKit, 2. Zeigen Sie Ihren versucht Code – paper1111

+0

Ich bin nicht SpriteKit mit i dachte gerade, wie ich etwas ähnliches mit Core Animation erreichen würde. –

+1

Ich habe etwas ähnlich zu Ihrer Abfrage [hier] beantwortet (http://Stackoverflow.com/a/33821933/4447772) –

Antwort

1

Ich habe einen Kommentar bezüglich Winkelgeschwindigkeit und Impuls hinterlassen, wollte aber diese Frage beantworten, so dass die nächste Person, die Hilfe braucht, einen Weg kennt, dies zu tun.

Winkelgeschwindigkeit ist die Geschwindigkeit des Spinnens. Was Sie tun möchten, ist ein Winkelimpuls, der das Spinnen beginnt. Die Masse und der Drehimpuls werden mit der Zeit langsamer werden, genau wie die Physik hinter den Zappeln.

Fügen Sie diese auf die touchesBegan Methode in der Klasse fidgetSpinner

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

Oder es zu der Szene hinzufügen, aber überprüfe, dass die Berührung im Innern und auf fidgetSpinner war.

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

Dies funktioniert auf SpriteKit, obwohl meine Frage den Effekt ohne SpriteKit erzielte, obwohl das gleiche gilt. –

+0

Sie hatten erwähnt, dass mein Kommentar hilfreich war, und mein Kommentar sprach von Winkelgeschwindigkeit und Impuls. Beides sind Konzepte in SpriteKit und solche, die für Menschen, die nach einer Lösung in der Zukunft suchen, hilfreich sein können. –

+0

Ich behauptete nicht, dass es nicht wäre, und Ihr Kommentar war sicherlich hilfreich, Drehimpuls und Winkelgeschwindigkeit waren hilfreich, da ich sie ohne SpriteKit nacheiferte. Daher habe ich auch deine Antwort neu gewählt. –