Wie werden verschiedene Beschleunigungseffekte auf die Sprite-Aktion angewendet?

8

Ich verwende viele CCEase* Funktionalitäten in Cocos2D beschrieben hier . iOS 7 Sprite Kit hat auch SKActionTimingMode . Allerdings nur einfache Modi. Wie kann ich CCEaseElasticIn oder CCEaseBounceIn wie Effekte mit Sprite Kit erhalten?

    
Pablo 26.09.2013, 11:23
quelle

2 Antworten

33
___ qstnhdr ___ Wie werden verschiedene Beschleunigungseffekte auf die Sprite-Aktion angewendet? ___ antwort19120420 ___

Das Sprite-Kit-Lockerungs-Lockerungs-Programm (oder Tweening) wurde absichtlich mit der Erwartung begrenzt, dass der Entwickler die Kontrolle über die Besonderheiten der Bewegung der Sprites übernehmen würde. Grundsätzlich müssen Sie eine benutzerdefinierte Aktion ausführen und eine Beschleunigungskurve auf den Parameter anwenden, bevor Sie die Eigenschaft (Drehung, Position, Skalierung usw.) des Sprites ändern. Hier ist ein Beispiel.

%Vor%

Der Teil, der die Beschleunigung bestimmt, ist p = t*t . Also, p ist eine Funktion von t , so dass:

  • Wenn t 0 ist, ist p 0
  • Wenn t 1 ist, p ist 1

Das bedeutet, dass Sie am Anfang beginnen und am Ende enden, aber die Form der Kurve dazwischen bestimmt, wie Sie dorthin gelangen. Erleichterungsfunktionen können einfach sein, wie die hier gezeigte, die im Grunde eine Leichtigkeit ist, oder ziemlich komplex, wie elastisch oder prall. Um Ihr eigenes zu erstellen, versuchen Sie Folgendes: Ссылка Oder werfen Sie einen genaueren Blick auf Robert Penners Gleichungen: Ссылка

    
___ tag123ios7 ___ iOS 7 ist die siebte Version von Apples iOS-Mobilbetriebssystem und ist der Nachfolger von iOS 6. Es wurde am 10. Juni 2013 auf der Apple Worldwide Developers Conference (WWDC) angekündigt und am 18. September 2013 veröffentlicht . ___ tag123spritekit ___ SpriteKit ist Apples Framework für die Erstellung von 2D-Spielen für iOS 7+ und macOS 10.9+. Es ist eine 2D-Rendering-Engine in Kombination mit einer Physik-Engine. Es ist kompatibel mit Objective-C und Swift. ___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind. ___ qstntxt ___

Ich verwende viele %code% Funktionalitäten in Cocos2D beschrieben hier . iOS 7 Sprite Kit hat auch %code% . Allerdings nur einfache Modi. Wie kann ich %code% oder %code% wie Effekte mit Sprite Kit erhalten?

    
___ answer26445651 ___

Für eine willkürliche Lockerung sagt Kardasis 'Antwort alles.

Wenn Sie nach einer einfachen Möglichkeit suchen, Ihren Animationen einen Bouncing-Effekt hinzuzufügen, der mit UIKit vergleichbar ist, habe ich etwas für Sie.

Apple hat vor ein paar Jahren in UIKit Federanimationen eingeführt, indem Sie eine Federdämpfung und die Anfangsgeschwindigkeit einstellen, wenn Sie eine UIView-Animation ausführen. Leider haben sie das in SpriteKit nicht implementiert, also habe ich meine eigene Bibliothek erstellt, die genau das tut.

Bei SKAction handelt es sich um eine Reihe von Erweiterungen, die die meisten Fabrikmethoden nachbilden und die Dämpfungs- und Geschwindigkeitsparameter hinzufügen.

Der Code ist auf GitHub, zögern Sie nicht, es zu verwenden: Ссылка

    
___
Kardasis 01.10.2013, 15:38
quelle
2

Für eine willkürliche Lockerung sagt Kardasis 'Antwort alles.

Wenn Sie nach einer einfachen Möglichkeit suchen, Ihren Animationen einen Bouncing-Effekt hinzuzufügen, der mit UIKit vergleichbar ist, habe ich etwas für Sie.

Apple hat vor ein paar Jahren in UIKit Federanimationen eingeführt, indem Sie eine Federdämpfung und die Anfangsgeschwindigkeit einstellen, wenn Sie eine UIView-Animation ausführen. Leider haben sie das in SpriteKit nicht implementiert, also habe ich meine eigene Bibliothek erstellt, die genau das tut.

Bei SKAction handelt es sich um eine Reihe von Erweiterungen, die die meisten Fabrikmethoden nachbilden und die Dämpfungs- und Geschwindigkeitsparameter hinzufügen.

Der Code ist auf GitHub, zögern Sie nicht, es zu verwenden: Ссылка

    
Alexis Taugeron 18.10.2014 23:33
quelle

Tags und Links