Skip to content

craiggrummitt/SpriteKitEasingSwift

Repository files navigation

SpriteKitEasingSwift: Better Easing for SpriteKit in Swift.

CI Status Version License Platform

This easing library began life as a port of buddingmonkey's Objective C SpriteKit Easing library to Swift.

This library extends upon the basic easing equations available in the SpriteKit framework by Apple.

Sprite Kit Easing makes available the following standard easing equations as SKActions.

easing.gif

Use SKEase methods to tween properties of an SKNode, such as:

  • move
  • scale
  • scaleX
  • scaleY
  • rotate
  • fade
  • tweenLabelColor
  • tweenShapeFillColor

If you want to tween a variable, use:

  • createPointTween
  • createFloatTween
  • createColorTween

The SKEase functions return an SKAction that performs the ease. You can then run the SKAction in the same manner you would any other SKAction in SpriteKit.

//eg an SKLabelNode(which extends SKNode) flies in from the right with an elastic tween:
//first create an SKNode, let's create a label node
let titleLabel = SKLabelNode(fontNamed:"Avenir-Light")
titleLabel.text = "Hello world"
titleLabel.fontSize = 65
titleLabel.fontColor = UIColor.white
titleLabel.position = CGPoint(x:self.frame.midX, y:self.frame.midY)
self.addChild(titleLabel)
//perform elastic ease
titleLabel.run(SKEase.move(easeFunction: .curveTypeElastic,
easeType: .easeTypeOut,
time: 2,
from: CGPoint(x: frame.width+titleLabel.frame.width/2, y: titleLabel.position.y),
to:CGPoint(x: -titleLabel.frame.width/2, y: titleLabel.position.y)))

Installation

via CocoaPods

SpriteKitEasingSwift is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'SpriteKitEasingSwift'

To run the example project, clone the repo, and run pod install from the Example directory first.

Don't forget to import the Pod where you would like to use it:

import SpriteKitEasingSwift

via Github:

Clone the project at Github (https://github.com/craiggrummitt/SpriteKitEasingSwift). You will find an example project there as well. To use the framework drag the SpriteKitEasingSwift/Classes folder to your project.

Author

Craig Grummitt

Again, credit and thanks go to SpriteKitEasing and AHEasing and the legend of easing, Robert Penner.

License

SpriteKitEasingSwift is available under the MIT license. See the LICENSE file for more info.