Book Image

Mastering iOS Game Development

By : Peter Ahlgren, Miguel DeQuadros
Book Image

Mastering iOS Game Development

By: Peter Ahlgren, Miguel DeQuadros

Overview of this book

iOS is an operating system for Apple manufactured phones and tablets. Mobile gaming is one of the fastest-growing industries, and compatibility with iOS is now becoming the norm for game developers. SpriteKit is part of the native SDK from Apple, and enables developers to make simple entry into game development without unnecessary overhead and a long learning process. SpriteKit also provides other functionality that is useful for games, including basic sound playback support and physics simulation. In addition, Xcode provides built-in support for SpriteKit so that you can create complex special effects and texture atlases directly in Xcode. This combination of framework and tools makes SpriteKit a good choice for games and other apps that require similar kinds of animation. Become a master in iOS game development through this fast and fun guide! In the beginning, we’ll tell you everything you need to plan and design your game. You’ll then start developing your game through step-by-step instructions using the various built-in technologies of Xcode. From there on, we discuss how to deploy your game to the iOS App Store, as well as monetizing it to make more revenue. You will also learn advanced techniques to improve your game playing experience, including better multi-tasking, improved performance optimization, battery management, and more. To end the book off, we’ll show you how to update your game with different features, then port the update to the App Store.
Table of Contents (15 chapters)

Gravity – player movement


For now, import the Player images (in the sprites.atlas file) I have provided in the resources section of this book. Unless you have your own! Then by all means use yours.

Let's go back to our GameLevelScene.m file and import yet another file. This time, it will be #import "Player.h". Then, after the @interface section that we added earlier, we are going to add another property similar to the map property we just added: @property (nonatomic, strong) Player *player1. I used player1 because we will be adding in some multiplayer features later!

Then again, inside the initWithSize function we will add the following code:

self.player = [[Player alloc] initWithImageNamed:@"P1Idle"];
self.player.position = (CGPointMake(100, 50);
self.player.zPosition = 15;
[self.map addChild: self.player];

When we build and run our project, we should get similar results as seen in the following image. I think it's starting to look pretty cool!

Hold on cowboy! What did we just do? Well let me...