Index
A
- achievement
- about / Adding an achievement
- adding / Adding an achievement
- creating, in iTunes Connect / Creating a new achievement in iTunes Connect
- updating, from code / Updating achievements from the code
- actions
- implementing / Putting it all together
- anchorPoint property
- about / Alignment with anchor points
- app
- registering, with iTunes Connect / Registering an app with iTunes Connect
- artwork, adding to sprite
- free assets, downloading / Downloading the free assets
- exceptional art / More exceptional art
- bee image, adding / Adding the bee image to your project
- images, loading with SKSpriteNode / Loading images with SKSpriteNode
- designing, for retina / Designing for retina
- assets
- organizing / Organizing your assets
- Images.xcassets, exploring / Exploring Images.xcassets
- art, collecting into texture atlases / Collecting art into texture atlases
- finalizing / Finalizing assets
- app icons, adding / Adding app icons
- launch screen, designing / Designing the launch screen
- screenshots, capturing for supported device / Taking screenshots for each supported device
- Automatic Reference Counting (ARC) / Automatic memory management
B
- bats
- adding / Another terror – bats!
- Bat class, adding / Adding the Bat class
- bee
- collision, creating / Bee meets bee
- Bee class
- creating / Reinventing the bee
- bee texture atlas
- building / Collecting art into texture atlases
- bee node, updating / Updating our bee node to use the texture atlas
- iterating, through texture atlas frames / Iterating through texture atlas frames
- blade
- adding / Guarding the ground – adding the blade
- Blade class, adding / Guarding the ground – adding the blade, Adding the Blade class
C
- camera
- centering, on sprite / Centering the camera on a sprite
- enhancing / Improving the camera
- cast
- about / Introducing the cast
- Power-up class, adding / Adding the power-up star
- mad fly, creating / Adding a new enemy – the mad fly
- bats, adding / Another terror – bats!
- spooky ghost, adding / The spooky ghost
- blade, adding / Guarding the ground – adding the blade
- coins, adding / Adding the coins
- categories, assigning to game objects
- player / The player
- ground / The ground
- star power-up / The star power-up
- enemies / Enemies
- coins / Coins
- categoryBitMask property
- about / Physics category masks
- coins
- adding / Adding the coins
- Coin class, creating / Creating the coin classes
- collecting / Collecting coins
- collision
- about / Collision versus contact
- collisionBitMask property
- about / Physics category masks
- constant velocity, for Pierre
- setting / Pushing Pierre forward
- player progress, tracking / Tracking the player's progress
- endless ground loop, creating / Looping the ground
- contact event
- about / Collision versus contact
- contact events
- adding, to game / Adding contact events to our game
- physics categories, setting up / Setting up the physics categories
- categories, assigning to game objects / Assigning categories to game objects
- GameScene, preparing for / Preparing GameScene for contact events
- contactTestBitMask property
- about / Physics category masks
- control scheme, for penguin
- implementing / Teaching our penguin to fly
- touchesBegan, in GameScene / Listening for touches in GameScene
- gravity, fine-tuning / Fine-tuning gravity
- wings, spreading / Spreading your wings
- Core Motion
- about / Polling for device movement with Core Motion
- device movement, polling with / Polling for device movement with Core Motion
- code, implementing / Implementing the Core Motion code
D
- damage animation
- about / The damage animation
- damping
- density
- development environment
- setting up / Setting up your development environment
- Xcode / Introducing Xcode
- device movement
- polling, with Core Motion / Polling for device movement with Core Motion
- dynamic physics bodies
E
- edge physics bodies
- encounters, in endless flying
- building / Encounters in endless flying
- first encounter, creating / Creating our first encounter
- endless encounters
- spawning / Spawning endless encounters
- building / Building more encounters
- EncounterManager class, updating / Updating the EncounterManager class
- metadata, storing in SKSpriteNode userData property / Storing metadata in SKSpriteNode userData property
- EncounterManager, wiring up in GameScene / Wiring up EncounterManager in the GameScene class
F
- force / Impulse or force?
- friction
G
- game
- enhancements / Maximizing fun
- finish line, crossing / Crossing the finish line
- marketing / Marketing and monetizing your game
- monetizing / Marketing and monetizing your game
- game art
- adding, to sprite / Adding textures and game art
- Game Center
- about / Integrating with Game Center
- integrating with / Integrating with Game Center
- configuring / Configuring Game Center
- test user, creating / Creating a test user
- opening, in game / Opening Game Center in our game
- game code
- structuring / Structuring your game code
- game objects
- testing / Testing the new game objects
- game over animation
- about / The game over animation
- GameScene
- renovating / Renovating the GameScene class
- GameScene, preparing for contact events
- about / Preparing GameScene for contact events
- console output, viewing / Viewing console output
- contact code, testing / Testing our contact code
- GameScene class
- didMoveToView function / Examining the demo code
- touchesBegan function / Examining the demo code
- update function / Examining the demo code
- Ground class
- creating / The icy tundra, Another way to add assets
- adding / Adding the Ground class
H
- heads-up display (HUD)
- adding / Adding a heads-up display
- implementing / Adding a heads-up display
I
- Images.xcassets
- exporting / Exploring Images.xcassets
- impulse / Bee meets bee, Impulse or force?
- Integrated Development Environment (IDE)
- about / Introducing Xcode
- iTunes Connect
- app, registering with / Registering an app with iTunes Connect
- URL / Registering an app with iTunes Connect
- iTunes Connect information
- finalizing / Finalizing iTunes Connect information
- pricing, configuring / Configuring pricing
- project, uploading from Xcode / Uploading our project from Xcode
- review, submitting / Submitting for review in iTunes Connect
L
- leaderboard, of high scores
- adding / Adding a leaderboard of high scores
- creating, in iTunes Connect / Creating a new leaderboard in iTunes Connect
- updating, from code / Updating the leaderboard from the code
- levels
- building / Building UI/menus/levels
- levels, never-ending world
- designing, with SpriteKit scene editor / Designing levels with the SpriteKit scene editor
- level data, seperating from game logic / Separating level data from game logic
- empty nodes, using as placeholders / Using empty nodes as placeholders
- limitations, Swift
- less resources / Less resources
- operating system compatibility / Operating system compatibility
M
- mad fly, enemy
- adding / Adding a new enemy – the mad fly
- enemy assets, locating / Locating the enemy assets
- MadFly class, adding / Adding the MadFly class
- main menu
- building / Building the main menu
- menu scene, creating / Creating the menu scene and menu nodes
- menu nodes, creating / Creating the menu scene and menu nodes
- launching, when game starts / Launching the main menu when the game starts
- Start Game button, wiring up / Wiring up the START GAME button
- mass
- menus
- building / Building UI/menus/levels
- music
- adding / Adding music and sound
- background music, playing / Playing background music
N
- never-ending level
- preparing / Preparing for endless flight
- never-ending world
- levels, designing with SpriteKit scene editor / Designing levels with the SpriteKit scene editor
- encounters, in endless flying / Encounters in endless flying
- scenes, integrating into game / Integrating scenes into the game
- endless encounters, spawning / Spawning endless encounters
- star power-up, spawning / Spawning the star power-up at random
- nodes
- moving, with physics bodies / Impulse or force?
P
- parallax background layers
- about / Parallax background layers
- background assets, adding / Adding the background assets
- background class, implementing / Implementing a background class
- backgrounds, wiring up in GameScene class / Wiring up backgrounds in the GameScene class
- particle system, SpriteKit
- harnessing / Harnessing SpriteKit's particle system
- circle particle asset, adding / Adding the circle particle asset
- SpriteKit Particle File, creating / Creating a SpriteKit Particle File
- path particle settings, configuring / Configuring the path particle settings
- particle emitter, adding to game / Adding the particle emitter to the game
- penguin texture atlas
- adding / A wild penguin appears!
- physics bodies
- about / Exploring the physics system
- dynamic physics / Exploring physics simulation mechanics
- static physics / Exploring physics simulation mechanics
- edge physics / Exploring physics simulation mechanics
- physics simulation mechanics
- physics system
- about / Exploring the physics system
- dropping like flies / Dropping like flies
- ground, solidifying / Solidifying the ground
- player's Game Center account
- authenticating / Authenticating the player's Game Center account
- Player class
- retrofitting / Retrofitting the Player class for flight
- Beekeeper / The Beekeeper
- updating / Updating the Player class
- ground, moving / Moving the ground
- physics body, assigning to player / Assigning a physics body to the player
- physics body shape, creating from texture / Creating a physics body shape from a texture
- player damage
- about / Player health and damage
- player health
- about / Player health and damage
- implementing / Player health and damage
- player input
- reacting to / Reacting to player input
- players control
- camera, enhancing / Improving the camera
- positioning
- about / The story on positioning
- anchor points / Alignment with anchor points
- Power-up class
- adding / Adding the power-up star
- art assets, locating / Locating the art assets
- Star class, adding / Adding the Star class
- power-up star logic
- about / The power-up star logic
- project
- preparing / Sharpening our pencils
- project navigator
- organizing / Organizing the project navigator
- protocol
- adopting / Following protocol
R
- restart game menu
- about / Adding the restart game menu
- adding / Adding the restart game menu
- HUD, extending / Extending the HUD
- GameScene, wiring up for game over / Wiring up GameScene for game over
- GameScene, informing when player dies / Informing the GameScene class when the player dies
- touch events, implementing / Implementing touch events for the restart menu
- restitution
- retina, designing for
- about / Designing for retina
- ideal asset approach / The ideal asset approach
- texture atlases / My solution for now
- implementing / Hands-on with retina in SpriteKit
S
- safety
- granting, on game start / Granting safety as the game starts
- SKScene / Exploring the SpriteKit Demo
- SKSpriteNode class
- building / Building a SKSpriteNode class
- sound
- adding / Adding music and sound
- assets, adding to game / Adding the sound assets to the game
- playing, when game starts / Playing a sound when the game starts
- sound effects
- playing / Playing sound effects
- coin sound effect, adding to Coin class / Adding the coin sound effect to the Coin class
- power-up and hurt sound effects, adding to Player class / Adding the power-up and hurt sound effects to the Player class
- spooky ghost
- about / The spooky ghost
- Ghost class, adding / Adding the Ghost class
- sprite
- drawing / Drawing your first sprite
- about / Drawing your first sprite
- SKSpriteNode class, building / Building a SKSpriteNode class
- animation, adding to toolkit / Adding animation to your Toolkit
- multiple animations, sequencing / Sequencing multiple animations
- recapping / Recapping your first sprite
- centered behavior benefits / Alignment with anchor points
- artwork, adding / Adding textures and game art
- implementing / Putting it all together
- camera, centering on / Centering the camera on a sprite
- SpriteKit
- about / Embracing SpriteKit
- particle system, harnessing / Harnessing SpriteKit's particle system
- SpriteKit collision vocabulary
- about / Learning the SpriteKit collision vocabulary
- collision, versus contact / Collision versus contact
- physics category masks / Physics category masks
- category masks, using in Swift / Using category masks in Swift
- sprite onTap events
- wiring up / Wiring up the sprite onTap events
- touchesBegan, implementing in GameScene / Implementing touchesBegan in the GameScene
- star power-up
- spawning / Spawning the star power-up at random
- static physics bodies
- Swift
- features / Why you will love Swift, An even playing field
- syntax / Beautiful syntax
- interoperability / Interoperability
- strong typing / Strong typing
- type inference / Smart type inference
- automatic memory management / Automatic memory management
- limitations / Are there any downsides to Swift?
- prerequisites / Prerequisites
- Swift game
- creating / Creating our first Swift game
- project, navigating / Navigating our project
- SpriteKit demo, exploring / Exploring the SpriteKit Demo
- demo code, examining / Examining the demo code
- demo code, clearing / Cleaning up
T
- texture
- tiling / Tiling a texture
- texture atlases
- about / The ideal asset approach
- textures
- adding, to sprite / Adding textures and game art
- touchesBegan
- implementing, in GameScene / Implementing touchesBegan in the GameScene, Larger than life
U
- UI
- building / Building UI/menus/levels
W
- wire
- running, to ground / Running wire to the ground
- world node
- creating / Creating a new world
X
- Xcode
- about / Introducing Xcode
- installing / Introducing Xcode