A project to create a blazingly fast Swift game engine that is a joy to use 🚀
This version migrates Imagine Engine to Swift 4.1. To use the engine with Swift 4.0, please keep using version 0.9.0 until you are ready to migrate to Swift 4.1.
New APIs
Bug fixes
BAD_ACCESS
crash bug when using Xcode 9.3/Swift 4.1.View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS)
New APIs
textureFormat: .jpg
).Label
using horizontalAlignment
.Label
now supports plugins.Label
can now support multiple lines of text (by @Alex88WH).Label
can now be rotated (by @jussi80).Label
can now be scaled (by @Loyolny).Label
using events.clicked
.Camera
using events.clicked
.Block
now has a convenience initializer for a single texture (Block(size:texture:)
).Scene
was resized using events.resized
.Bugfixes
View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS)
New APIs
errorMode
on a TextureManager
, to have either a log message or an assert being thrown in case a texture is missing in your game. Thanks to @vijaytholpadi for implementing this!resized
event. Thanks to @Warren-Lamb for implementing this!Bugfixes
View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS)
Removed APIs
New APIs
scene.add(a, b, c)
(thanks @NSMyself!)Timeline
.Improvements
Bug fixes
View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS)
New APIs
Animation
and Actor
can now be initialized with the name of a single texture to render.repeat(action)
on an ActionPerformer
.plugins(ofType:)
(thanks @TadeasKriz!)removeAllPlugins(ofType:)
.Actor
now has a enteredScene
event (thanks @Warren-Lamb!)Improvements
Scene
is reset, its plugins are now deactivated then reactivated again.View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS)
New APIs
Scene
now has a safeAreaInsets
property and a safeAreaInsetsChanged
event you can observe to handle the safe area insets on iPhone X.Improvements
View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS)
Improvements
hitBoxSize
is set), by @aranasaurus.View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS)
Bug fixes
clicked
event, the correct point is now passed to that event on both iOS + macOS, and the camera position is being taken into account.Improvements
moved
event, both the old and new position are now passed into the closure as a tuple.New APIs
Camera
now has a rect
property, similar to Actor
and Block
.isConstrainedToScene
property to true
.View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS - Debug)
Bug fixes
rect
is no longer derived from its layer's frame, which could cause inconsistencies in some situations.Improvements
View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS - Debug)
Bug fixes
neverOverlapBlockInGroup
constraint on an actor, the actor will now be moved to the closest edge when overlapping, instead of being incorrectly snapped to the wrong edge.Improvements
New APIs
Animation
instance with an array of images.View build details and download artifacts on buddybuild: ImagineEngine (iOS, ImagineEngine-iOS - Debug)