Version 0.3 (February 15, 2016) - Ulthran/Physics-Breaker GitHub Wiki
DRAWING BOARD CONFIGURATION
Table of Contents:
- [Game View Controller](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#game-view-controller)
- [Data Management](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#data-management)
- [Drawing Board Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#drawing-board-scene)
- [Menu Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#menu-scene)
- [IDKs Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#idks-scene)
- [Settings Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#settings-scene)
- [Help Scene](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#help-scene)
- [Physics Object](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#physics-object)
- [Configuration](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#configuration)
- [Frictionless Mass](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#frictionless-mass)
- [Assets.xcassets](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#frictionless-mass)
- [Bugs and Other Issues](https://github.com/Ulthran/Physics-Breaker/wiki/Version-0.3-(February 15, 2016)#bugs-and-other-issues)
- [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:
- Sometimes when the drawing board is dragged it will move with the touch despite being told numerous times not to do so
- Eventually, this was fixed by setting the coordinates of the drawing board back to their original positions if it was ever moved
- http://stackoverflow.com/questions/34959410/touchesmoved-not-functioning-properly
Forum:
- Working on a Directions section to help beginners understand the app