This course is taught by Justin Dike, owner and lead developer at CartoonSmart.com, creator of the Fantastic Worlds iOS Starter Kits, and author of iOS Game Programming with Xcode and Cocos2d (published by Focal Press). Justin has been programming iOS games since the release of the first iPhone and has been teaching development for just as long, covering mostly game related topics. He’s proficient with Cocos2d, Sprite Kit, Objective-C and most recently Swift.
Learn Sprite Kit for iOS and Xcode.
Justin Dike teaches this course on Sprite Kit game programming with Xcode 5 and iOS7. He brings his practical, easy style of teaching to Sprite Kit, Apple’s own 2D game engine built into Xcode.
This introduction to Sprite Kit is truly meant for beginners of all kinds. If you’ve never programmed before, be sure to watch the first section and get some of the basics under your belt. Following that, we will pick apart the Sprite Kit starting template, then move onto building a quick game.
This is an Objective-C based Sprite Kit tutorial. If you’re looking for an introduction to Sprite Kit using only Swift, we recommend this course. Most users of Sprite Kit should find it easy to switch between Objective-C and Swift based projects.
After three sessions you’ll have the foundation of Sprite Kit in your back pocket.
Session 1: Xcode and Objective-C Basics
- Course Introduction
- Tour of the Xcode Interface – In this video tutorial we will tour the Xcode interface. We’ll look at all the essential areas you should know about as a first time programmer. We will also look briefly at Asset Catalogs, a new way of adding your launch images and app icons (as of Xcode 5).
- Provisioning Profiles in Xcode 5* – This video will teach you how to add your Provisioning Profiles in Xcode 5 using the developer portal and Organizer. You need to be a registered developer to install your profiles and test on your actual device. Otherwise, you can test your project on the iOS Simulator.
- Objective C – Basics for Beginners* – If you aren’t familiar with Objective-C or programming in general, you’ll want to watch this first video on basic variable types. We’ll look at int, float, NSString, bool and CGPoint variables and quickly test logging them in the update loop of the Sprite Kit template.
- Objective C – Basics for Beginners (continued)* – This course continues teaching the very basics of Objective-C. If you aren’t familiar with if statements, while and for loops, or creating methods (with non-void returns and parameters) then you will definitely want to watch this quick primer.
*This is optional viewing for anyone already familiar with Objective C and Xcode.
Session 2: The Sprite Kit Template. Explained and Tweaked.
- This video will look at the Sprite Kit template and play around some with what already exists. If you skipped past the optional Objective-C basics tutorial, this video is also intended to give you a quick reminder of some core concepts to programming (for example, returning objects from a method, adding children, setting properties, etc)
- This second video examining the Sprite Kit Template will teach you how to enable multiple touches in the view controller, detect touch end events, use childNodeWithName, and enumerate through children during the update method.
Session 3: Building a Boulder Jumping Game
- Importing Assets to Xcode (and Exporting from Flash) – From here on, the series will focus on building a sample Sprite Kit jumping game, where your goal is to avoid getting hit by boulders and timing a characters leap over them. This short first video will discuss importing images to an Asset Catalog (new to Xcode 5), using Retina Display images, and also show you tips on how to export images from a program such as Adobe Flash.
- Texture Atlases with Sprite Kit – This video discusses creating a Texture Atlas for Sprite Kit. If you are already familiar with sprite sheets (for optimizing game graphics), a texture atlas is exactly that. You can name a folder with the “.atlas” extension and include your standard and retina images (with @2x.png extensions). This atlas folder with get packaged as a sprite sheet at compile time (code to use the atlas is discussed later).
- Adding and Identifying Children with Sprite Kit – In this video, we will add all of our children to the Sprite Kit scene, and create a method at a random interval to continuously add Boulder sprites. We will also look at the zPosition, xScale, name properties and more.
- Moving Objects and Detecting Two Objects Colliding – This video tutorial really gets the ball rolling with Sprite Kit. Pun intended. We’ll be moving the boulder across the screen and detecting if it intersects with our character. We will also look at the enumerateChildNodesWithName method.
- Casting in Sprite Kit – This video discusses the concept of Casting in a Sprite Kit game. This is an important concept, and worthy of it’s own video. We’ll talking about when to cast an object, making sure it actually exists, and testing the kind of class that the cast object is.
- Adding Sprite Kit Actions – In this video we will add our Sprite Kit Actions which will do all the work involved with making the character jump and use the texture atlas we imported earlier. We will look at adding a sequence of SKActions as well as declaring them in the header file for use every time we touch the screen. We will also use the SKAction performSelector method to control how often the character is able to jump (toggling on or off if the character can jump).
- Game Over for this Sprite Kit Project – In this last video, we will test if the boulder has intersected with the character a certain number of times, and if so, we will transition to a new scene (actually the same scene over again) to restart the game.
Download today or watch through CartoonSmart’s Streaming Portal for Lifetime Access. Or do both.
No matter how you choose to watch, you’ll have access to over 3 hours of videos, broken into short easy-to-watch movies. Enroll today for free!I’m ready to enroll! It’s free!
Already enrolled? Then let’s get you started watching the course…I’m ready to learn!