The next Product College class starts January 2018. Apply Now

What You Learned!

What You Learned!

February 21, 2015
Expand

Project: Learn SpriteBuilder and Swift by building the Game of Life

Designing for Compatibility

  • Using % position: Ensure an element is in the correct screen alignment, regardless of device.
  • Width inset in points: Being able to define a width inset allows you to utilize remaining screen with a static sprite.
  • Using layout box: Using a layout box allows you to quickly and easily display objects of all sizes.
  • The importance of anchorpoints: When designing for compatibility, you must be aware of how the anchor point affects the sprite so it adjusts properly on all screen sizes.

Using Selectors, UserInteraction, and 2D Arrays

  • Scheduling the grid update: You can schedule a selector to act just like update does, but with the freedom of running it at any interval of time you want. This is ideal for things that need to be updated regularly, but not every frame.
  • Using touch information: In order to add creatures to the grid, we needed to locate user touches in the grid. To do that, we used touch.locationInNode(self). This is the easiest way to find exactly where the touch has occurred.
  • 2-Dimensional Arrays: 2D are arrays within arrays. They're very useful when storing representations of game objects; our grid is a perfect example a 2D array use case because it is visually 2-dimensional.

Solution

The solution to this tutorial is available on GitHub.

Github lab cat

Feedback

If you have feedback on this tutorial or find any mistakes, please open issues on the GitHub Repository or comment below.

Summer academy

An iOS Development Summer Course

Design, code and launch your own app. Locations across the USA and Asia

Find your location

Product College

A computer science college

Graduate into a successful career as a founder or software engineer.

Learn more