Version 0.1 (January 12, 2016) - Ulthran/Physics-Breaker GitHub Wiki

MENU AND RELATED SCENES

###Table of Contents:

  1. [Game View Controller](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.1-(January 12, 2016)#game-view-controller)
  2. [Data Management](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.1-(January 12, 2016)#data-management)
  3. [Menu Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.1-(January 12, 2016)#menu-scene)
  4. [IDKs Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.1-(January 12, 2016)#IDKs-scene)
  5. [Settings Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.1-(January 12, 2016)#settings-scene)
  6. [Help Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.1-(January 12, 2016)#help-scene)
  7. [Assets.xcassets](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.1-(January 12, 2016)#help-scene)
  8. [Bugs and Other Issues](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.1-(January 12, 2016)#bugs-and-other-issues)
  9. [Forum](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.1-(January 12, 2016)#forum)

Overview:

This version has all the scenes linked to by the Menu Scene fully set up (with the exception of the Drawing Board Scene). The IDKs Scene has text explaining what IDKs are, a title, a label showing the user how many IDKs they have, and a button to where they can buy more IDKs. The buy more button is not currently functional but will eventually link to an in-app purchases page. There is also a button in the top right (as with all scenes in the app) that links back to the Menu Scene). The Settings Scene has a title and two sliders with labels Music Volume and Sound Volume. They both affect the values stored in Data Management that will eventually control the volume of music and sounds. There is then a volume button in the bottom left of the Menu Scene that affects the Music Volume. It can be changed from full, to half, to mute with this button. Finally, there is the Help Scene. This has a block of text displaying a brief overview of what the app is, a title, and a Further Help Button. The Further Help button links to the Physics Breaker forum. The one other addition to this version is the Data Management class. This has been added to keep all the permanent user data in one location and only allow it to be accessed and edited through this class' functions. Currently it holds the number of IDKs the user has and the music and sound volumes.

Game View Controller:

  • Still just creates the Menu Scene and then leaves the rest to it

Data Management:

  • The DataManagement class was added in for this version
  • Stores all user data separately of all other classes with clear get and set methods for every attribute
  • Made to simplify data management as much as possible

Menu Scene:

  • Same as in version 0.0
  • Has buttons Start, IDKs, Settings, Help, Volume
  • Has label with text PHYSICS BREAKER

IDKs Scene:

  • Displays the number of IDKs the user has (stored in Data Management)
  • Explains IDKs and provides a link to the in-app purchases page (non-existent at this point)
  • Has a return to menu button in the top right

Settings Scene:

  • Allows user to toggle music and/or sound volume on sliders
  • Sliders update and are updated by volume values in Data Management
  • Has a return to menu button in the top right

Help Scene:

  • Writes out a basic overview of the idea of the app
  • Provides a link to the forum (entitled Further Help)
  • Has a return to menu button in the top right

ASSETS.XCASSSETS:

  • All sizes of the App Icon (Imaginary Inc Logo with background removed)
  • Imaginary Inc Logo (background removed) (doesn't include 2x & 3x)
  • Launch Screen Background (doesn't include 2x & 3x)
  • Volume-Mute (doesn't include 2x & 3x)
  • Volume-1Bar (doesn't include 2x & 3x)
  • Volume-3Bar (doesn't include 2x & 3x)

BUGS AND OTHER ISSUES:

Buttons Not Appearing in New Scene:

  • Both buttons being added to the IDKs Scene are not appearing when run
  • Solved by removing the overriden delete(UIObject) function and just using UIObject.removeFromSuperView()
  • delete(UIObject) had been deleting all UIButtons in scenes that followed Menu Scene

SKLabelNode Doesn't Support Line Wrapping:

  • An SKLabelNode with text that is too long (such as that in the IDK description for the IDKs Scene) will not wrap properly
  • I've adopted the inelegant solution of having a bunch of SKLabelNodes stacked on top of each other to give the appearance of one block of text
  • Still searching for a better alternative

Many Buttons Causing Runtime Error: Unrecognized Selector:

  • A random assortment of UIObjects (Buttons and Sliders) were causing this error when pressed
  • Ended up that I had forgotten to add the parameter @objc funcName(sender: AnyObject)
  • Without sender: AnyObject, the stack trace crashed

Minor Bug with Volume Control:

  • UISliders weren't calling their target functions
  • Changing them to call their methods on UIControlEvents.TouchUpInside rather than .ValueChanged solved the issue

Forum:

  • http://physics-breaker.freeforums.net
  • Forums for user support were created and linked to from the help page
  • Three categories of discussion are created: Suggestions, Physics Problems, and Bugs
  • There is also a separate moderator chatroom