Let's begin straight away by opening up Xcode and clicking on File | New |Project.
You will then be greeted by the New Project wizard, which will look like this:
For this project, we are—obviously—going to select iOS | Application | Single View Application and then click on Next.
Once you do that, you will be required to fill in some details on the project, such as
Chapter 3 Fill in the required fields (if they aren't already populated) and then click Next. To
begin, we are going to make some changes to the project. For instance, locate the LaunchScreen.xib file in the sidebar on the left and delete it by pressing Delete on your keyboard.
The .xib and storyboard files are the interface files that you
can use to create the interface of a view. In them you can create buttons, text labels, and other user interface elements.
You will see a popup asking if you want to remove the reference or move it to the trash. We won't need it as we are going to program everything the player will see, so you can safely send it to the trash.
Then click on the main project file in the sidebar on the left; in the middle of the screen, you will see all the project's settings. We are also going to make some changes
to this section.
First things first. Under the App Icons and Launch Images rollout, locate the Launch Screen File dropdown. Where it says LaunchScreen.xib, simply select the text and delete it as shown in the following screenshot. Again, because we are going to be programming everything, we won't need it in our case.
Blast Off! Starting with Development
Look down a little further and you will see the Linked Frameworks and Libraries
roll out.
Frameworks and Libraries are extensions you can add to further enhance the functionality of your app. Examples of what you can add are CoreGraphics and SpriteKit; even the Facebook API or Cocos2D can be downloaded and added for additional features.
This is where we add our various frameworks (if you didn't know that already).
We are going to add five frameworks and one library. To do this, click on the +
button at the bottom of the section. The files we are going to add are as follows: • libz.dlib • CoreGraphics.framework • UIKit.framework • SpriteKit.framework • GLKit.framework • Foundation.framework
Here is a screenshot of Linked Frameworks and Libraries:
Our game is going to make good use of these frameworks, as we will see throughout
this chapter. I like to keep things nice and organized whereas Xcode just throws files
at the top of the sidebar on the left-hand side. I selected the new frameworks that
were just added, right-clicked on them, selected New Group from Selection, and called that folder Frameworks. I personally like to keep things good and organized when developing; I even make sure all the paragraphs of code are indented properly. After you've added the new frameworks, you must download the two folders in the resource section of this book. They include additional frameworks that are provided for free online and that will assist us further, especially with our level design.
Chapter 3 The Frameworks are SKTUtils, which is essentially an extension of SpriteKit, and JSTileMap, which we will use for our maps.
The SKUtils framework is an extension of SpriteKit that adds more visual effects as well as further mathematical calculations for additional physics (such as the use of
π (pi) in calculations for even more complex physics calculations).
The JSTileMap framework allows us to import a tile map file into Xcode. As you will find out later, Xcode doesn't natively support map files.
Once you have them downloaded, simply select the two folders and drag them into
the bar on the left-hand side of our project, as shown in the following screenshot:
Make sure you click on the Copy items if needed check box; this will copy these
folders into your project folder so that any changes do not affect the originals.
Importing the SKTUtils framework, I found, threw 20 errors at me, most of which were completely incomprehensible. So after much deliberation and debugging, I realized (halfway through writing this chapter, mind you), that we need to add a prefix
Blast Off! Starting with Development
Once that file is created, click on it to edit it; we are going to fill it with the
following code:
#import <Availability.h> #ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later." #endif #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #endif
We need to define our PCH file we just created in Xcode or else it will be rendered
useless because it won't be doing anything!
Once we are done filling out that file, we are going to click on our project in the bar on
the left. You will now see tabs at the top of the navigation bar: General, Capabilities,
Info, Build Settings, Build Phases, and Build Rules. Click on Build Settings. Scroll
down to find Apple LLVM 6.1 – Language and change the Precompile Prefix Header
selection to Yes. Below that, double-click on the empty field in the Prefix Header
section and fill it out according to your project. I named my project Adesa, so I filled
in Adesa/Adesa-Prefix.pch, as shown in the following screenshot:
Chapter 3 Now we have to add in some more main and header files; one set will be called
Player, and the other will be GameLevelScene. Unsure how to add these? No problem! Simply click File | New | File or press Command + N. For these files, we
will select the Cocoa Class file and click Next, as shown in the following screenshot:
Again fill out the name of the Class, and again one will be Player and the other
GameLevelScene. I know setting things up is a little boring, but we have to do it.
Now, on to editing our code!