Thanks for the performance numbers, AppDeveloperGuy! That is good to know.
I’ll be spending the next few days finalizing and testing MTE’s new functions and features ahead of a new release on Friday of next week.
New functions include:
getSprites(parameters)
getTilesWithProperty(key, value, level, layer)
preloadMap(src, directory)
getLoadedMaps()
unloadMap(mapPath)
drawObjects()
drawObject(name)
redrawObject(name)
I’ve changed loadMap() and refresh() to support selective map unloading. A developer can now choose to hold maps in memory to facilitate loading into them quickly at a later time.
The new cullingMargin parameter for goto() will allow the dev to specify how far the active culling region should extend beyond the edges of the screen. The Physics simulation will also continue to run in this enlarged region.
MTE is now better at filling the screen when “letterbox” scaling is set in the config.lua file.
I’ve made several improvements to MTE’s handling of physics objects. Physics objects may now be moved with MTE’s standard movement functions such as moveSpriteTo().
Non-physics sprites will no longer automatically park unless their “park” flag is set to true.
Finally, of course, there is the addition of physics and draw support for Tiled’s Polygon, Polyline, Ellipse, and Box/Rectangle objects. All of these objects can be rendered to the screen as vector objects and given physics bodies. They will all automatically self-generate matching physics shapes if their “shape” property is set to auto or nil. Developers can now also modify a Tiled Object’s physics/display properties and redraw that object.