Book Image

Getting Started with SpriteKit

By : Jorge Jordán
Book Image

Getting Started with SpriteKit

By: Jorge Jordán

Overview of this book

SpriteKit is Apple’s game engine to develop native iOS games. Strongly boosted by the Apple Inc., Cupertino, it has increased in popularity since its first release. This book shows you the solutions provided by SpriteKit to help you create any 2D game you can imagine and apply them to create animations that will highlight your existing apps. This book will give you the knowledge you need to apply SpriteKit to your existing apps or create your own games from scratch. Throughout the book, you will develop a complete game. The beautiful designs implemented in the game in this book will easily lead you to learn the basis of 2D game development, including creating and moving sprites, and adding them to a game scene. You will also discover how to apply advanced techniques such as collision detection, action execution, playing music, or running animations to give a more professional aspect to the game. You will finish your first game by learning how to add a main menu and a tutorial, as well as saving and loading data from and to the player’s device. Finally, you will find out how to apply some mobile games techniques such as accelerometer use or touch detection.
Table of Contents (13 chapters)
Getting Started with SpriteKit
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

2-star challenge: animate collisions


Now that we have all the elements needed to create the animation for the rabbit when it collides with the wrong door, I challenge you to use your knowledge to stop the jumping animation and run the smashing one. Don't forget to restart the jumping animation after the smashing animation has finished.

Solution

For this challenge, we will need to remove the blink action that we created in Chapter 2, What Makes a Game a Game?, and the one that we created for the collision between the rabbit and the puppet so that we can run the new animation instead. You need to replace the following lines of code in the detectCollisions method:

// Make the rabbit blink
let blinkAction = SKAction.sequence([
    SKAction.colorizeWithColor(UIColor.redColor(), colorBlendFactor: 0.5, duration: 0.1),
    SKAction.fadeAlphaTo(0.0, duration: 0.2),
    SKAction.fadeAlphaTo(1.0, duration: 0.2),
    SKAction.colorizeWithColor(UIColor.whiteColor(), colorBlendFactor: 1.0, duration: 0.1...