Release Candidate 1
Pre-releaseWith this version, the project enters the Release Candidate phase of development. It begins to approach the stage in which it can be treated as production ready. Further improvements will continue to be released regularly. The development will continue in this cycle until the Gold Version is reached.
The changes in this version focus on usability. Several parts of constructors used in rendering were redesigned to make them more flexible. Improvements to vector calculations are also present.
Constructors which store full basic drawing info (that being TextDraw
, SpriteDraw
and shape constructors) have gotten optional arguments to their render()
and subsidiary methods. They now allow for replacing specific pieces of the render information with temporary ones only for that call. This change might appear confusing at first, as storing that data is the purpose of these constructors. However, often it is useful to reinterpret or replace one or more pieces of that data while leaving other intact for a single call. This is a very powerful feature and is optional to use. However, to include it, the construction arguments and render()
method of the TextDraw
constructor received a change to include the location
value for consistency sake.
Changes from Beta Version 5:
Changes to existing content:
|SpriteDraw
/TextDraw
/Arrow
/Circle
/Ellipse
/Line
/Point
/Rectangle
/RoundRectangle
/Triangle
: Added the functionality of replacing the properties through the argument of therender()
and subsidiary methods for the duration of the call only.
|TextDraw
: Added thelocation
property and made it an optional argument in therender()
method instead of mandatory one.
|Layer.createInstance()
: Made the argument for location optional, defaulting to the x and y values of 0.
|Layer.destroyInstances()
: Replaced with thedestroyInstance()
method, which requires a target instance or object to be specific. The keyword{all}
can be also specified as an argument, in which case, it will work like previously, destroying all instances of objects on that Layer.
|Vector2.equals()
: Added{real}
argument support.
|Vector4.equals()
: Added{real}
and{Vector2}
argument support.
|Vector2.set()
: Added{Vector2}
argument support.
|Vector4.set()
: Added{Vector2}
and{Vector4}
argument support.
|SpriteDraw
: Added support for skipping construction arguments withundefined
.
|SpriteDraw
: Added error checking to therender()
function and removed it from thetoString()
function.
|Surface.setSize()
: Introduced the minimal size of one pixel instead of creating an Error Report.Additions:
+Scale
/Vector2
/Vector4
:grow()
,shrink()
methods.Fixes:
-List.contains()
: Fixed an issue causing the List values being compared only to the arguments that were the same position as the value in the List, resulting in inaccurate results.
-TextDraw.getBoundaryOffset()
: The value returned is now calculated based on the size of the string with the{Font}
of the constructor applied instead of the currently active one.
- General minor code and documentation fixes.Instructions for conversion from the previous version:
•Layer.destroyInstances()
: Adjust the code to refer to it through its new name,destroyInstance()
and specify{all}
as the only argument.
•TextDraw():
Adjust the code to either skip the new third construction argument forlocation
and the first argument forsprite
of therender()
method OR remove thelocation
argument from therender()
method and add it as the new third construction argument.