Version 0.3 (February 15, 2016) - Ulthran/Physics-Breaker GitHub Wiki

DRAWING BOARD CONFIGURATION

Table of Contents:

  1. [Game View Controller](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#game-view-controller)
  2. [Data Management](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#data-management)
  3. [Drawing Board Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#drawing-board-scene)
  4. [Menu Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#menu-scene)
  5. [IDKs Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#idks-scene)
  6. [Settings Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#settings-scene)
  7. [Help Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#help-scene)
  8. [Physics Object](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#physics-object)
  9. [Configuration](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#configuration)
  10. [Frictionless Mass](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#frictionless-mass)
  11. [Assets.xcassets](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#frictionless-mass)
  12. [Bugs and Other Issues](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#bugs-and-other-issues)
  13. [Forum](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#forum)

Overview:

With this update, the physics objects on the drawing board will now configure themselves if placed properly. For example, if a mass is placed near a surface, the mass will then adjust slightly to be "on" the surface and if the surface is inclined, it will rotate as well. While this is not a big update, it was quite labor intensive so I figure it deserves its own version. The Frictionless Mass class that has been added is a template for all the other object types that will eventually be added as well. It holds all the data attributes for that type of object.

Game View Controller:

  • No Changes

Data Management:

  • No Changes

Drawing Board Scene:

  • No Changes

Menu Scene:

  • No Changes

IDKs Scene:

  • No Changes

Settings Scene:

  • No Changes

Help Scene:

  • No Changes

Physics Object:

  • No Change

Configuration:

  • This class is instantiated whenever a physics object is moved. Thus far it just has the structure of the final class but will, in the next version, get the filling

Frictionless Mass:

  • This has been added as a template for all the other physics objects. Eventually each type of object will have one of these classes.
  • It holds the data fields for the specific object type. In the case of a Frictionless Mass, it holds the acceleration, mass, velocity, and elasticity of the mass. It also has all the functions necessary to access and/or change these data.

Assets.xcassets:

  • I don't need to keep listing these out (No Changes)

Bugs and Other Issues:

SKSpriteNode Not Responding to .RemoveFromParent:

  • When a physics object was placed outside the bounds of the drawing board, it would be deleted. Despite running the physicsNode[i].removeFromParent call, the node was not being removed.
  • Fixed by changing the sequence of events from: [set node equal to what configuration returned, remove from parent] to: [remove node from parent, set node equal to what configuration returned, add node to parent, remove node from parent]
  • Note: The node would only be removed from parent in these scenarios if it was out of the drawing board's bounds

Drawing Board Moves Occasionally:

Forum:

  • Working on a Directions section to help beginners understand the app