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?
Antwort
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)
}
}
Dies funktioniert auf SpriteKit, obwohl meine Frage den Effekt ohne SpriteKit erzielte, obwohl das gleiche gilt. –
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. –
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. –
- 1. Firefox Css Spinner Animation Rendering Problem
- 2. iPhone/iPad Spinner zu halten Animation
- 3. Spinner CSS3-Animation. Hat sich Sass verändert?
- 4. Fade Animation Swift
- 5. Swift Animation funktioniert nicht
- 6. SpriteKit Animation Problem Swift
- 7. swift UIView.animate überspringt Animation
- 8. Skalieren UIButton Animation- Swift
- 9. iOS Interaktive Animation Swift
- 10. SWIFT Unendlich Animation/Funktion Anrufschleife
- 11. Swift: Kern Animation nicht animieren
- 12. Swift Animation - Circle hinter Knopf
- 13. Partielle Pagecurl-Animation mit swift
- 14. wiederholte Kette Animation in Swift
- 15. Swift 3 - Delay Repeating Animation
- 16. Swift: Heute Widget mit Animation
- 17. Swift UITabBarController ausblenden mit Animation
- 18. Swift Animation Zahlen der Wiederholung
- 19. Benutzerdefinierte Animation Spinner nicht glatt genug: framesCount und frameDuration Fehler
- 20. Wie zentriere ich meinen Spinner, wenn er rotiert - CSS Animation
- 21. Animation Delegate nicht zu Swift 3.0 konvertieren
- 22. Glatte Erweiterung UIView Animation in Swift
- 23. Effizientes Abbrechen der Keyframe-Animation in Swift
- 24. Animation auf Bild in UIButton in swift
- 25. Swift: UIBezierPath Stroke Animation von Center
- 26. Transition Animation ohne Storyboard segue swift
- 27. Swift - removeAllAnimations() - Eine Animation nach der anderen
- 28. Benutzer-Tracking-Modus fehlende Animation, Swift
- 29. Swift: UILabel Animation für Farbe ausführen
- 30. Swift Animation für Periskop-Stil Kommentare
1. Sie sollten Core Animation verwenden, nicht SpriteKit, 2. Zeigen Sie Ihren versucht Code – paper1111
Ich bin nicht SpriteKit mit i dachte gerade, wie ich etwas ähnliches mit Core Animation erreichen würde. –
Ich habe etwas ähnlich zu Ihrer Abfrage [hier] beantwortet (http://Stackoverflow.com/a/33821933/4447772) –