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
About the Author
About the Reviewer

Turning on the lights

One of the most important elements in a game is lighting as it helps you give the desired atmosphere or highlight some places on the scene.

SpriteKit provides the SKLightNode class that gives us the capability of creating lights and treating them as nodes and, as a consequence of that, we can decide which nodes on the scene will interact with the lights, casting shadows.

It's important to take into account that even though lights are nodes, they have no visual representation unless we associate a sprite node to it. We also need to bear in mind that it's possible that the shadows produced by a source of light will be shown over other nodes.

When allowing a node to be affected by a source of light in the scene, there are three properties that we can use to define its behavior:

  • lightingBitMask: Thanks to this property, the sprite will be affected by the light with specular, diffuse, and ambient light.

  • shadowCastBitMask: Thanks to this property, a shadow will be created in...