The official Impact Box2D Plugin has been updated to use Box2D 2.1a. This update features the new API and fixes some performance and stability problems.
The physics demo can be found on your download page and the plugin itself is at github.
Version 1.3 marks a huge update for Ejecta with many new features and countless bugfixes: In App Purchas API, WebGL, WebSockets, several new events and much more.
With support for Gradients and Patterns, this release also almost completes the Canvas2D API. See the changelog below for all the details.
Thanks to everyone who contributed and reported bugs!
As always, the newest release can be found on the Ejecta project page.
Changelog
- Added WebGL support (for an example with three.js see the readme)
- Added API for In App Purchases
- Added support for WebSockets
- Added
deviceMotion
events
- Added
pagehide
, pageshow
and resize
events
- Added support for Patterns and Gradients
- Added getImageDataHD/putImageDataHD
- Added .style property for Canvas elements, removed old
.scaleMode
property
- Added basic support for Video elements
- Added support for hsl/hsla colors and 140 HTML color names
- Added CommonJS style require;
ejecta.require()
has been depracted, use ejecta.include()
instead.
- Support for TypedArrays added in JavaScriptCore
- Moved Canvas2D to OpenGL ES 2
- Greatly improved image load times
- Changed all 2D Canvases to use a backingStoreRatio of 2 by default
- Simplified the whole file structure of the project
- Fixed problems when drawing canvases onto themselfs
- Fixed various issues with drawText()
- Fixed various issues with path drawing
- Fixed various multitouch issues
- Fixed various memory problems
The Impact website now has a new Games List where users can showcase their own games made with Impact. Right now it looks a bit empty, but I'm sure it will fill up soon.
You can add your game by creating a thread in the Games Forum. If you already have a thread for your game, you will find a "Edit Game Info" link at the top of your thread, where you can upload a screenshot and set the URL.
Impact 1.22 fixes a number of issues with Internet Explorer on Windows8/RT and Windows Phone. Font loading should now be more robust in recent Ejecta versions as well.
As always, if you're updating from a previous version, take care to not overwrite your own files. You'll just need to update the files in lib/impact/
and lib/weltmeister/
. Grab the new version from your download page.
Changelog - Impact
- Fixed problems with small pre-rendered BackgroundMaps
- Fixed Font loading issues with Internet Explorer and Ejecta
- Fixed WinPhone not recognized as
ig.ua.mobile
platform
- Added ImpactMixin for easier integration with different environments (e.g. NodeJS)
- Added generic
ig.ua.touchDevice
and ig.ua.winPhone
for User Agent Sniffing.
- Added support for MSPointer events - this makes ig.input.mouse work on Windows based touch devices
Changelog - Weltmeister
- Fixed focus problem after using menu buttons (thanks boomshanka)
- Fixed
ig.lib
being ignored when loading entities
- Modified the default collision tileset graphic to better indicate unused (yet solid) tiles
Impact 1.21 is a bugfix release that deals with a number of small problems and a quite big one.
Apple recently released a new version of their Safari Browser for Retina MacBooks that breaks many Impact games and produces garbled fonts and blurry scaled up versions of games. I wrote a bit more about this whole ordeal over at PhobosLab.
Impact 1.21 carefully works around these issues. If you want your games to run on Retina MacBooks in Safari, you should update.
As always, if you're updating from a previous version, take care to not overwrite your own files. You'll just need to update the files in lib/impact/
and lib/weltmeister/
. Grab the new version from your download page.
Changelog - Impact
- Fixed issue with ig.Timer
pause()
not working on the very first frame
- Fixed ig.Input to ignore keys on Input and Textarea elements
- Fixed Function
bind()
to be ECMA-262 compliant
- Fixed scaling issues for images and fonts with Retina MacBooks
- Fixed
ig.input.mouse.x/y
to take the CSS scaling into account
- Fixed ig.Sound to disable sound completely if HTML5 Audio is not supported (Safari/Win)
- Fixed ig.Animation
rewind()
method not returning to the first frame after gotoFrame()
was called
- Fixed
constructor
assignment in ig.Class
- Fixed debug.css to honor the
ig.prefix
value
- Fixed issues with preRendered repeating BackgroundMaps when screen coordinates are negative
- Fixed an issue for one-way collision tiles, where an entity may move through the tile
Changelog - Weltmeister
- Fixed Entity selection to allow for overlapping Entities (thanks alexandre)
The Ejecta github project is still full steam ahead. This 1.2 release again brings a whole bunch of bugfixes, moves the Canvas implementation closer to the spec and adds some missing features. Notably, this release brings support for ctx.clip()
for the Canvas element. The only missing Canvas features are now gradients, shadows and patterns.
Thanks again to everyone who contributed and reported bugs!
Grab the latest release version from the Ejecta project page.
Changelog
- Added support for
ctx.clip()
- Added support for XMLHttpRequest to access local files
- Added support for auto-loading of @2x textures
- Added
navigator.onLine
to check for internet connectivity
- Added
ejecta.getText()
for prompt-style text input
- Added
Image.complete
boolean flag
- Fixed various bugs in XMLHttpRequest
- Fixed various line drawing bugs with closed/unclosed paths
- Fixed problems with
ctx.transform()
and ctx.arcTo()
- Fixed
ctx.fill()
to use non-zero winding rule instead of even-odd rule
- Fixed problems with unicode chars when drawing text
- Fixed problems with
ctx.imageSmoothingEnabled
not beeing honored for different Canvas elements
- Fixed failed Image loading when the Screen Canvas context was not created prior
- Fixed touch event not reporting
.touches
and .changedTouches
correctly
Also check out the awesome EjectaGL project by @vikerman - he made some good progress on getting WebGL support into Ejecta. We're looking into bringing this over to Ejecta proper for some future release.
The Ejecta github project has been very busy in the last few weeks. We fixed a whole bunch of issues, made the project much more stable and added a good deal of new features.
A huge thanks goes to Tharit who fixed a lot of issues with vector functions and implemented the excellent and fast font rendering routines. Also thanks to anyone else who contributed to the project and reported bugs.
Grab the latest release version from the Ejecta project page.
Changelog
- Added the XMLHttpRequest API
- Added
font
fillText()
, strokeText()
, textAlign
and textBaseline
- Added round and proper bevel line joins
- Added
destination-out
, destination-over
, source-atop
and xor
blend modes
- Added
softAuthenticate()
for the GameCenter API
- Added
reportAchievementAdd()
for the GameCenter API
- Added support for fullscreen antialiasing (MSAA)
- Fixed orientation issues
- Fixed various line drawing issues
- Fixed various touch event problems
- Fixed various problems with
getImageData()
Today, I'm releasing Ejecta – a fast JavaScript, Canvas & Audio implementation for iOS – under the MIT Open Source license.
Ejecta has been formerly known as iOSImpact. It still shares the same idea and some basic code with iOSImpact, but is otherwise a significant rewrite of it.
The whole Canvas implementation has been re-implemented from scratch and is now much faster, more robust and closer to the HTML5 spec. It also supports the vector drawing functions, such as lineTo()
, bezierCurveTo()
, fill()
and stroke()
as well as getImageData()
and many others.
iOSImpact used a lot of Impact specific hacks and you needed a special set of plugins to make Impact work with it. This is no longer the case – Impact games now work without any modifications or plugins in Ejecta.
Ejecta has become much more generally usable. It's not only a tool to get Impact games running on iOS, but can also be used for many other Canvas animations and games.
Because Ejecta is no longer focused on Impact only, I decided to release it as Open Source to see what the community comes up with. I'm also hoping that the community will help out to fill the last gaps in the Canvas implementation and also provide some more functionality such as in-app purchases or WebSocket support.
Visit the Ejecta page for more info. If you're upgrading from iOSImpact, be sure to read the Integrating Impact Games article.
I also wrote a bit about some implementation details in my blog.