Index
A
- analytics
- about / Analytics and user data
- Apple iOS program
- app review websites
- URL / App review sites
- audio types
- difference / Seeing the difference in audio types
- URL / Seeing the difference in audio types
B
- BMFont
- saving, file suffixes used / Saving your BMFont using file suffixes
- saving, directories used / Saving your BMFont using directories
- exporting / Exporting the BMFont and importing to Xcode
- importing, to Xcode / Exporting the BMFont and importing to Xcode
- body
- about / Overall structure of Chipmunk
- button press visuals
- about / Button press visuals
- CCButton class, modifying / Modifying the CCButton class
- units, combining / Pulse on unit combine
- buttons
- creating, via CCButton / Creating buttons via CCButton and CCLayout
- creating, via CCLayout / Creating buttons via CCButton and CCLayout
- Restart button, adding / Adding the Restart button
- buttons, game
- creating / Creating buttons and text (labels)
- Bézier curve
- movements, creating on / Creating movements on a Bézier curve
- examples / Examples of using a Bézier curve
- map route / Sample project – Bézier map route
- curved M-shape / Curved M-shape
C
- CCButton
- buttons, creating via / Creating buttons via CCButton and CCLayout
- CCLayout
- buttons, creating via / Creating buttons via CCButton and CCLayout
- CCPhysicsBody
- Chipmunk
- defining / Learn how Chipmunk works
- structure / Overall structure of Chipmunk
- physics bodies, types / Types of bodies
- static bodies / Types of bodies
- dynamic bodies / Types of bodies
- kinematic bodies / Types of bodies
- used, for collision detection / Using Chipmunk for just collision detection
- physics body, turning into sensor / Turning the physics body into a sensor
- class
- implementing, into official CCScene subclass / Turning a class into an official CCScene subclass
- Cocos2d
- downloading / Step 3 – download Cocos2d (via SpriteBuilder)
- downloading, URL / Step 3 – download Cocos2d (via SpriteBuilder)
- setting up / Setting up Cocos2d for use with physics
- Chipmunk physics, creating / Building a world for physics to exist
- Cocos2d-Swift GitHub repository
- URL / Git and GitHub/Bitbucket
- Cocos2d engine
- working / Overview of how the Cocos2d engine works
- collision detection
- Chipmunk, using for / Using Chipmunk for just collision detection
- collisions, in Chipmunk
- handling / Handling collisions in Chipmunk
- collision delegate, setting / Setting the collision delegate
- collision tags, setting on game objects / Setting collision tags on game objects
- detecting / Detecting collision
D
- D-pad adaptation
- versus touchscreen controls / Touchscreen controls versus D-pad adaptation (and why it matters so much to know this distinction)
- data
- tracking / Tracking and visualizing the data
- visualizing / Tracking and visualizing the data
- default image
- adding / Adding a default image
- loading screen, adding / Adding the loading screen
- LoadingScene, using from MainScene / Switching to LoadingScene from MainScene
- depth perception, via device tilting
- about / Depth perception via device tilting
- parallax scrolling / Isn't this parallax scrolling?
- Depth sample project / Sample project – depth
- parallax node, creating / Creating the parallax node and adding the objects
- objects, adding / Creating the parallax node and adding the objects
- depth, visualizing / Visualizing the depth
- equilibrium, restoring / Restoring equilibrium (calibrating to the new rotation)
- scrolling example / A quick scrolling example
- directories
- versus file suffixes / File suffixes versus directories
- about / File suffixes versus directories
- used, for saving BMFont / Saving your BMFont using directories
E
- enemies
- interacting with / Interaction with enemies and scoring
F
- file
- creating, for scene / Creating a new file for the scene
- file suffixes
- versus directories / File suffixes versus directories
- about / File suffixes versus directories
- used, for saving BMFont / Saving your BMFont using file suffixes
- Flurry
- about / Analytics and user data
- benefits / Analytics and user data
- signing up for / Signing up for Flurry
- URL / Signing up for Flurry
- adding, to project / Adding Flurry to your project
- Flurry API
- URL / Logging events
G
- GAF
- about / Choosing tools and getting started, GAF
- URL / GAF
- game
- initial code, creating / Creating the initial code for the scene to open
- running, on simulator / Run it on the simulator – doesn't require an iOS developer license
- running, on device / Run it on the device – requires an iOS developer license
- button, linking / Linking the button in the game to go to the menu
- button, linking in menu / Creating and linking a button in the menu to go to the game
- button, creating in menu / Creating and linking a button in the menu to go to the game
- releasing / Releasing the game and steps after it
- updating / After submission
- beta testers / Beta testers and the target market
- app review sites / App review sites
- sources / Other sources of information
- Game Center leaderboards
- about / Game Center leaderboards
- App ID, creating / Creating the App ID
- app, creating in iTunes Connect / Creating the app in iTunes Connect
- creating / Creating the leaderboard
- GameKit framework, adding / Adding the GameKit framework
- GameKit helper files / GameKit helper files
- user, authenticating / Authenticating the user
- Game Center button, creating / Creating the Game Center button
- score, submitting / Submitting the score
- game mindset
- preparing / Preparing the mindset
- physics engine, using / The physics engine
- In-App Purchases (IAPs) / In-App Purchases
- analytics, using / Making use of analytics
- complex mechanics / Complex mechanics and special effects
- special effects / Complex mechanics and special effects
- complex mechanics / Complex mechanics and special effects
- games
- sharing, on Facebook / Sharing on Facebook and Twitter (and more)
- sharing, on Twitter / Sharing on Facebook and Twitter (and more)
- built-in share feature, using / Using the built-in share feature
- Share button, creating / Creating the Share button
- variable, creating for current score / Creating a variable for the current score
- UIActivityView object, creating / Creating the UIActivityView object
- UIActivityViewController, displaying / Displaying UIActivityViewController
- screenshot, adding to share / Adding a screenshot to the share
- ghosts
- creating / Three ways to make unit streamers or "ghosts"
- sample project / Sample project – ghosts
- particle systems / Method 1 – particle systems
- sprites / Method 2 – sprites or nodes
- nodes / Method 2 – sprites or nodes
- constant line / Method 3 – constant line
- Git
- GitHub/Bitbucket
- GKHelper class
- URL / GameKit helper files
- Glyph Designer / Choosing tools and getting started
- about / Glyph Designer
- URL / Glyph Designer
- goals
- setting / Setting flexible, focused goals
- expand / Expand
- focus / Focus
- flexible / Flex
- gravity
- setting, by tilting device / Setting gravity by tilting the device
- accelerometer, setting up / Setting up the accelerometer
- data, reading / Reading the data
- manipulating / Manipulating gravity to your heart's content
- ground object
- creating / Adding the ground and walls
I
- icons
- about / Icons
- template / Template
- adding, to project / Adding the icons to the project
- asset catalog, using / Asset catalog
- IDE
- downloading / Downloading the IDE and Source Code
- In-App Purchases (IAPs)
- about / In-App Purchases
- references / In-App Purchases
- iOS game controls
- examples / Bad examples of iOS game controls
- iTunes Connect
- app, preparing on / Preparing the app on iTunes Connect
- URL / Preparing the app on iTunes Connect
L
- labels, game
- creating / Creating buttons and text (labels)
- CCLabelTTF, using / Let's get some text displayed – CCLabelTTF
- CCLabelBMFont, using / Let's get some text displayed – CCLabelBMFont
- log events
- about / Logging events
- loop background music
M
- menus
- movements
- creating, on Bézier curve / Creating movements on a Bézier curve
N
- nodes
- creating / Creating nodes and units (sprites)
- NSNotificationCenter
- using / Talking between scenes
O
- OALSimpleAudio
- about / Learning about OALSimpleAudio
- effects, preloading / Preloading effects
- files, loading asynchronously / Loading files asynchronously
- effects, unloading / Unloading effects
- objects
P
- parallax scrolling / Isn't this parallax scrolling?
- Particle Designer / Choosing tools and getting started
- about / Particle Designer
- URL / Particle Designer
- physics bodies
- URL / Types of bodies
- Playgrounds
- Swift, learning through / Learning Swift through Playgrounds
- organizing / How Playgrounds are organized
- results over time, viewing / Viewing the results over time
- project
- setting up / Setting up a project and creating basic objects
- proof of concept
- about / Why prototype?
- prototype
- about / Why prototype?
- playtesting / Playtesting and feedback analysis
- feedback analysis / Playtesting and feedback analysis
- turn-based game / Project for the book
- turn-based game, implementing / A quick mock-up
- Cocos2d engine, working / Overview of how the Cocos2d engine works
R
- Restart button
- adding / Adding the Restart button
S
- scenes
- scene transitions
- slide transition
- about / Slide transition
- generic slide function, creating / Creating a generic slide function
- background, extending / Extending the background
- scene, replacing with rubber band transition / Replacing the scene with a rubber band transition
- in MenuScene / Transition in MenuScene
- in GameOverScene / Transition in GameOver
- polishing / Other ideas for polishing
- sliding feature
- adding, to units / Adding subtle sliding to the units
- one unit, sliding / Sliding one unit
- all units, sliding / Sliding all units
- sound effects
- playing / Playing sound effects and loop background music
- sounds, when button clicked on / Sounds when a button is clicked on
- sounds, on unit movements / Sounds on unit movements
- sounds, on unit combination / Sounds on unit combination
- sounds, when user loses / Sounds when the user loses
- modifying / Modifying the sound effect on the fly
- volume / The volume (or gain), pitch, and pan
- pitch / The volume (or gain), pitch, and pan
- pan / The volume (or gain), pitch, and pan
- looped sound effects, stopping / Stopping looped sound effects
- combine sound effect, modifying / Modifying the combine sound effect
- examples / Other great sound places
- sound files
- playing / Prerequisites
- sounds
- turning on / Turning sounds on and off
- turning off / Turning sounds on and off
- main menu, using / No options or settings? Main menu it is!
- buttons, creating / Creating the buttons
- keys, creating / Creating the keys
- sound and music Boolean, grabbing from NSUserDefaults / Grabbing the sound and music Boolean from NSUserDefaults
- values, setting / Setting and saving the values
- values, saving / Setting and saving the values
- background music and sound, pausing / Pausing/resuming background music and sound
- background music and sound, resuming / Pausing/resuming background music and sound
- MainScene sound, handling / Handling MainScene sound
- GameOverScene, repeating / Repeating for GameOverScene (and any other scenes)
- AppDelegate music, handling / Handling AppDelegate music
- sound/music starts, enabling / Making sure that sound/music starts enabled
- Source Code
- downloading / Downloading the IDE and Source Code
- SpriteBuilder
- new project, creating via / Creating a new project via SpriteBuilder
- URL / Creating a new project via SpriteBuilder
- SpriteBuilder projects
- exporting, to Xcode / Exporting SpriteBuilder projects to Xcode
- sprite sheets
- using, with TexturePacker / Begin using sprite sheets with TexturePacker
- background, setting up / Setting up the background
- sprite sheets, with TexturePacker
- saving, to project location / Saving to the project location
- images, scaling / Scaling the images and publishing the sprite sheet
- publishing / Scaling the images and publishing the sprite sheet
- importing / Importing the sprite sheet and loading it into the memory
- loading, into memory / Importing the sprite sheet and loading it into the memory
- Swift
- working / How Swift works
- learning, through Playgrounds / Learning Swift through Playgrounds
- about / Learning more about Swift
- game, creating / Creating a game in Swift instead of Objective-C
- game, goal / Goal of the game
- project, starting / Starting a new Swift project
- font files, adding / Adding the font files
- Bridging-Header, importing / Importing Bridging-Header and loading MainScene
- MainScene, loading / Importing Bridging-Header and loading MainScene
- background, creating / Creating the background, turret, and score label
- turret, creating / Creating the background, turret, and score label
- score label, creating / Creating the background, turret, and score label
- turret, rotating with touchMoved / Rotating the turret with touchMoved
- bullets, shooting / Shooting some bullets
- enemies, spawning / Spawning enemies and sending them towards the center
- GameOverScene class, creating / Transitioning to GameOver
- collisions, handling / Handling collisions
- score, counting / Counting the score
- difficulty, increasing / Increasing the difficulty
- Swift blog
T
- table
- adding, for scores / Adding a table for scores
- CCTableView, versus UITableView / CCTableView versus UITableView
- high scores (NSUserDefaults), saving / Saving high scores (NSUserDefaults)
- creating / Creating the table
- scores, displaying / Showing the scores
- template
- URL / Template
- TexturePacker
- about / TexturePacker
- URL, for downloading / TexturePacker
- using / Not using TexturePacker – A brief how-to
- sprite sheets, using with / Begin using sprite sheets with TexturePacker
- Texture Packer / Choosing tools and getting started
- tools
- selecting / Choosing tools and getting started
- Texture Packer / Choosing tools and getting started, TexturePacker
- Particle Designer / Choosing tools and getting started, Particle Designer
- Glyph Designer / Choosing tools and getting started, Glyph Designer
- VertexHelper Pro / Choosing tools and getting started
- GAF / Choosing tools and getting started, GAF
- Git / Choosing tools and getting started, Git and GitHub/Bitbucket
- GitHub/Bitbucket / Choosing tools and getting started, Git and GitHub/Bitbucket
- VertexHelper / VertexHelper
- touch creation
- enabling, of object / Enabling touch creation of our object
- touchscreen controls
- versus D-pad adaptation / Touchscreen controls versus D-pad adaptation (and why it matters so much to know this distinction)
- examples / Great examples of touchscreen controls
- turn-based game
- about / Project for the book
- implementing / A quick mock-up
- tutorial, game
- about / Tutorial
- variable / Tutorial phase variable and the NSUserDefaults key
- NSUserDefaults key, using / Tutorial phase variable and the NSUserDefaults key
- text, displaying for each phase / Displaying text for each phase (and CCSprite9Slice)
- advancing / Advancing the tutorial
- advanceTutorial function, calling / Advancing in all the right places
- text, removing / Removing the previous phases' text
- finger, noticing / Fingers pointing the way
- nontutorial movement, rejecting / Rejecting non-tutorial movement
U
- unit
- defining / Defining and adding a unit to the screen
- adding, to screen / Defining and adding a unit to the screen
- units
- creating / Creating nodes and units (sprites)
- moving around, with touch controls / Moving the units around with touch controls
- unit streamers
- user data
- about / Analytics and user data
V
- VertexHelper
- about / VertexHelper
- URL / VertexHelper
- VertexHelper Pro / Choosing tools and getting started
W
- walls
- creating / Adding the ground and walls
- world
- about / Overall structure of Chipmunk
X
- Xcode
- downloading / Step 2 – download and install Xcode
- installing / Step 2 – download and install Xcode
- device, adding / Adding a device
- SpriteBuilder projects, exporting / Exporting SpriteBuilder projects to Xcode