iOS Control Systems with Swift Sprite Kit

A quick start guide to programming one of the hardest elements of any game, controlling your characters.
4.4 (23 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
292 students enrolled
40% off
Take This Course
  • Lectures 32
  • Length 6.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2015 English

Course Description


This seven hour tutorial series has one main aim to it: give you a quick start guide to programming one of the hardest elements of any game, controlling your characters. Most programmers begin a new app by prototyping the controls. It's just a natural starting point for production, and it can be one of the biggest stumbling blocks for new developers. With a dozen example projects and 24 videos, you can start wherever you like and implement any of the control systems below…

  • Accelerometer controls
  • Simple touches, taps and swipes
  • Rotation, pan, pinch, and long press gestures
  • Path-based movements
  • Aim and release slingshot style controls
  • Directional pad controls
  • Virtual joystick controls in a top-down flying game
  • Virtual joystick controls in an isometric-viewed world
  • Virtual joystick controls in a traditional side scroller/ platform world
  • Attacking, jumping and double-jumping with virtual buttons

This series was developed with Swift 1.2 and uses Apple's very own Sprite Kit game engine. While you master the control methods above, you'll also learn the basics of game development: animating texture atlases, creating classes for players and collision objects, working with physics, creating world nodes, and countless other nuggets of know-how for making an awesome game with Xcode.

What are the requirements?

  • Some prior familiarity with Swift or any programming language is preferred
  • Have a Mac with Xcode 6.3 Installed

What am I going to get from this course?

  • Programmably control characters using Swift 1.2 and Sprite Kit
  • Get experience working with many SKActions
  • Make a sprite follow a path.
  • Control objects using the Accelerometer
  • Use every type of gesture recognizer to move or rotate sprites
  • Create a virtual joystick or directional pad to move a side scrolling, top down or isometric character
  • Create an aim and release type world to slingshot a character

Who is the target audience?

  • New Xcode programmers focused on game development using a Mac.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Tap to Move Controls using Swift and Sprite Kit
Course Assets for Swift 3 / Swift 2
How to Tap Relative to the Character to Move
Smooth Movements with SKActions
SKActions (continued) Moving to Point A, then to Point B
Section 2: Making Objects Follow a Path
Make an Object Follow a Path with SKActions
Make Multiple Objects Follow a Path (Centipede style)
Section 3: Using the Accelerometer to Control Movement
Accelerometer Basics in Swift
Accelerometer on Both X and Y in Swift
Section 4: Gestures Recognizers
Animated Textures - Prequel to using Gesture Recognizers
Animated Textures (continued)
Taps and Rotation Gesture Recognizer Tutorial
Rotating and Moving a Ship and Target
Swipe Gestures and Rotating Based on Degrees
Pan Gestures vs touchesMoved and convertPointFromView
Pinch and Long Press Gesture Recognizers
Section 5: Virtual Joysticks
Initial Setup of a Virtual JoyStick with Swift and SpriteKit
Top Down Movements and Speed Based Controls using a Virtual Joystick
Section 6: Virtual Joystick in a Side Scroller Style Level
Modifying the Scene for Side Scroller Play and Creating the Player Class
Player Class (continued)
Creating an Object Class from SKNode and Using a Dictionary to Initialize It
Object Class (continued)
Using the SKPhysicsContactDelegate to detect contact between Player and Object
Walking, Idling and Attacking with Joystick Controls Tutorial
Walking, Idling and Attacking (Continued)
Jumping with Joystick Controls Introduction
Jumping with Joystick Controls Tutorial
Jumping Continued
Section 7: Aim and Release Sling Shot Style Controls
Sling Shot Style Controls Tutorial
Section 8: Isometric Controls with a Joystick and Directional Pad
Isometric Controls Tutorial
Isometric Controls Tutorial with a Directional Pad

Feel free to ask any questions, and you might see it get answered with a video!

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Justin Dike, CartoonSmart / Owner / Leader Developer and Instructor

Justin Dike is the founder of CartoonSmart one of the internet's first video training websites. He is a long-time illustrator and animator, focusing mostly on Adobe Flash, and experienced programmer with Swift, Sprite Kit, Actionscript 3, Objective C and Cocos2d. For CartoonSmart he has recorded hundreds of hours of video tutorials and recently published his first full length book titled iOS Programming with Xcode and Cocos2d available in the iBookstore. Justin has also developed many iOS games, including a side scrolling game engine.

Ready to start learning?
Take This Course