-
Notifications
You must be signed in to change notification settings - Fork 21
Changelog
Blaine Bublitz edited this page Jun 18, 2013
·
8 revisions
Breaking Changes
- Due to performance reasons,
InputManager.mousemove
only fires duringmousedown
ortouchstart
- see breakouts example for workaround - Added
frozen/TouchAction
instead of usingfrozen/MouseAction
- used whenInputManager.emulateMouse
isfalse
-
InputManager.handleTouch
andInputManager.handleMouse
removed, replaced withInputManager.emulateMouse
which determines if MouseAction or TouchAction should be used - Either
InputManager.mouseAction
orInputManager.touchAction
will be active at one time (depending on state ofInputManager.emulateMouse
) -
InputManager
event handling methods no longer check if a point is inside canvas -
InputManager.keyActions
switched from array to object (only breaking if you iterate over the collection) - Removed
Box.destroyJoint
because it was deprecated in last release - Created a
frozen/box2d/listeners/Contact
module to contain contact listener callbacks and other logic - move custom contact handlers to this object - Remove
dojo/dom
,dojo/dom-geometry
anddojo/dom-style
modules from hard dependencies to use straight DOM instead (modules will be missing from built layer) - Remove
dojo/_base/lang
in favor of Lo-Dash (module will be missing from built layer) - Removed
update
function fromfrozen/reiner/Creature
- replaced withupdateDirection
andupdateAnimations
functions
New Features
- Add Bower support
- Add dependencies on Lo-Dash and Hammer.js
- Touch/Mouse/Pointer event normalization with Hammer.js
- Gesture support with Hammer.js
-
InputManager.hammer
is an instance of Hammer.js -
InputManager.on
can be used for binding new events -
InputManager.insideCanvas
can be used to check a point against theInputManager
'scanvas
- New methods for adding or removing multiple bodies or joints in
frozen/BoxGame
:addBodies
,removeBodies
,addJoints
,removeJoints
- New methods for flipping images in
frozen/ResourceManager
:flipImage
,flipImageX
,flipImageY
- Added
preSolve
to contact listener - Added box2d sprite, gesture, ragdoll physics, and breakouts examples
Non-Breaking Changes
- Update Examples to use features of 0.3.0/0.4.0
-
frozen/utils/removeExtension
now uses a regex for removing the extensions, limited to 4 characters after the.
-
require.toUrl(filename)
is now used inside theloadSound
andloadImage
functions, instead of the plugins - Fix for WebAudio on iOS
- On mobile which requires touch, interally switch to
Audio.play()
instead ofAudio.load()
to avoid double loading - Use
dcl
'sadvice.before
to wire upGameCore.beforeUpdate
Deprecations
-
GameCore.preUpdate
- Deprecated in favor of beforeUpdate -
InputManager.handleMouse
(already removed) - Mouse is always handled, use emulateMouse to specify how to handle it -
InputManager.handleTouch
(already removed) - Touch is always handled, use emulateMouse to specify how to handle it -
InputManager.mouseUp
- Use the lowercase name instead - same syntax as normal event handling -
InputManager.mouseDown
- Use the lowercase name instead - same syntax as normal event handling -
InputManager.mouseMove
- Use the lowercase name instead - same syntax as normal event handling -
InputManager.touchStart
- Use the lowercase name instead - same syntax as normal event handling -
InputManager.touchEnd
- Use the lowercase name instead - same syntax as normal event handling -
InputManager.touchMove
- Use the lowercase name instead - same syntax as normal event handling -
InputManager.keyPressed
- Use keydown instead - same syntax as normal event handling -
InputManager.keyDown
- Use the lowercase name instead - same syntax as normal event handling -
InputManager.keyReleased
- Use keyup instead - same syntax as normal event handling -
InputManager.getMouseLoc
- Deprecated in favor of normalizePoint function (Same functionality, different name)
Breaking Changes
- Removed previously deprecated methods and properties
- Removed Node 0.6 support for the build process
-
frozen/sounds/Sound
was a plugin, but is now the base object of other Sounds andfrozen/sounds/AudioBase
was removed -
frozen/sounds/Sound
plugin was moved tofrozen/plugins/sound
-
frozen/box2d/Entity
moved tofrozen/box2d/entities/Entity
-
frozen/box2d/RectangleEntity
moved tofrozen/box2d/entities/Rectangle
-
frozen/box2d/CircleEntity
moved tofrozen/box2d/entities/Circle
-
frozen/box2d/PolygonEntity
moved tofrozen/box2d/entities/Polygon
-
frozen/box2d/MultiPolygonEntity
moved tofrozen/box2d/entities/MultiPolygon
New Features
- Auto-selection of Audio extension if no extension is specified
-
loadSound
andloadImage
plugins now userequire.toUrl()
to generate a path to your resources - Added
.jamignore
file -
Box.setAngularVelocity
function added to set the angular velocity on an entity - Tests added for Sounds, BoxGame, and Sprite
- Added
frozen/box2d/entities
which returns a map of entity types - Added
frozen/box2d/joints
which returns a map of joint types -
BoxGame.addBody
,BoxGame.removeBody
,BoxGame.addJoint
,BoxGame.removeJoint
methods added for convenience
Non-Breaking Changes
- Made all the examples adhere to the linting rules of the rest of the project
- Move linting declarations to .jshintrc to allow for JSHint being run in the directory standalone
- Update Grunt to
~0.4.1
and add/update all the dependencies inpackage.json
- Modified the Gruntfile to work with new plugins and define more tasks for convenience
- Removed Node 0.6 from tested environments
- Updated examples that were using deprecated methods
- Cleanup event handler usage on Audio implementations
- Rearranged the
specs/
file structure to matchsrc/
- Implement the dcl Cleanup API for InputManager to remove event handlers on destruction
- Add declaredClass to entities and joints
Deprecations
-
Box.destroyJoint
has been deprecated in favor ofBox.removeJoint
Breaking Changes
- None! This is a bug fix release
New Features
- None! This is a bug fix release
Non-Breaking Changes
- Scaling issues in IE10 were fixed
- Fixed issue where ResourceManager was hanging when Audio loading errored
- Made collision masking check against null or undefined instead of hasOwnProperty
- Partial Chrome for Android sound support
Deprecations
- Sound plugin will be moved to plugins 0.3.0
- AudioBase will be renamed Sound in 0.3.0
Breaking Changes
- Default Box#gravityY to 9.8 instead of 10
- Auto-scaling on Box (Will cause problems if you are already scaling and don't account for auto-scaling)P
- Remove dojo/_base/declare from single layer - switch to dcl
- Change color to fillStyle and strokeColor to strokeStyle to stay consistent with canvas API
New Features
- Added Joints (Distance, Prismatic, Revolute) - Box gained methods related to Joints
- Added GameCore#setHeight and GameCore#setWidth to set the game's and canvas' height or width
- Entities gained pointInShape function to determine if a point is within shape
- Collision filtering inside Box and properties on Entities
- Added insideCanvas utility and an insideCanvas property flag on mouse or touch events
- HTML5 Audio Support - with plugin that auto-detects which audio type to use
- Default lineWidth on Entities - used inside default draw
- AMD Plugins for loadImage and loadSound
- BoxGame added for easy creation of Box2d games - added preUpdate to GameCore to support this
- Jasmine tests for the library
Non-Breaking Changes
- loadSound and loadImage now accept a String, Array of Strings, or Object of Strings and return the same type
- Dojo/on is used to listen for Image loading - allows for other event listeners to be added without breaking things
- Removed width and height from Box
- Cleaned up InputManager#resize
- Rewrote pointInPolygon module
- Fix some InputManager bugs
- Add more documentation
- Update examples
Deprecations
- Any method that is just a getter or setter that did nothing else - No reason to continue the Java paradigms
- Animation#createFromTile
- ResourceManager#imageCount, ResourceManager#loadedImages, ResourceManager#playSound
- Sprite#drawCurrentFrame
- Entity#hidden