flame 1.5.0 copy "flame: ^1.5.0" to clipboard
flame: ^1.5.0 copied to clipboard

A minimalist Flutter game engine, provides a nice set of somewhat independent modules you can choose from.

1.5.0 #

Note: This release has breaking changes.

  • REFACTOR: OpacityEffect now uses opacity instead of alpha internally (#2064). (b3b67301)
  • REFACTOR: Game render box cleanup (#1691). (60a5830d)
  • FIX: Event mixins missing @mustCallSuper (#2036). (c26d5da3)
  • FIX: SpeedController advance() should execute after its effect's onStart() (#2173). (7a1e2e8b)
  • FIX: Refresh vertices on size change of RectangleComponent (#2167). (4020d68b)
  • FIX: Fix coordinate system calculation in FixedAspectRationViewport (#2175). (c9c9881c)
  • FIX: SpriteButtonComponent missing @mustCallSuper added (#2001). (45a9d79b)
  • FIX: Focus handling with a scope on the GameWidget (#1725). (d1cd8517)
  • FIX: RemoveEffect should work within SequenceEffect (#2110). (03e1f33d)
  • FIX: #1966 unit test for Particles (#2097). (59bd7ebb)
  • FIX: OpacityEffect custom paint override (#2056). (fe9d4d9b)
  • FIX: #1998 (#2013). (f63711dc)
  • FIX: solid circles and polygons intersection (#2067). (62c5c2e1)
  • FIX: #2017 (#2039). (7f546b0f)
  • FIX: Exception when having multiple calls to dispose() function of a Svg instance (#2085). (a287904e)
  • FIX: Add missing hitbox parameters (#2070). (8aacb555)
  • FIX: Change Vector2.zero() to Vector2(0, -1) in Vector2Extensions.fromRadians() (#2016). (801c683c)
  • FEAT: Add children to World constructor (#2093). (3af416dc)
  • FEAT: Add paint layers to HasPaint and associated component renders (#2073). (9e6bf4fb)
  • FEAT: Add SizeProvider to clip_component and custom_paint_component. (#2100). (bb710646)
  • FEAT: Added HasGameReference mixin (#1828). (12ce270b)
  • FEAT: Added toString method to all the drags events message handlers (#2014). (a34f1df7)
  • FEAT: Add maintainState property to Route (#2161). (576ceaac)
  • FEAT: add onCancelled to ButtonComponent and HudButtonComponent (#2193). (e7f08906)
  • FEAT: onComponentTypeCheck support for ShapeHitbox (#1981). (f840210b)
  • FEAT: Added glow effect using maskFilter (#2129). (bcecd3c1)
  • FEAT: Add support for styles propagating through the text node tree (#1915). (b5780d42)
  • FEAT: Added SpriteFont class (#1992). (a0d7eada)
  • FEAT: Added CameraComponent.withFixedResolution() constructor (#2176). (e289f118)
  • FEAT: Add optional maxDistance to raycast (#2012). (6b78b10f)
  • FEAT: clampLength for Vector2 extension (#2190). (51a896b2)
  • FEAT: Adding onChildrenChanged (#1976). (3d043b86)
  • FEAT: Adding ComponentNotifier API (#1889). (bd7f51f5)
  • FEAT: removed future + isRemoved field for Component (#2080). (9f322785)
  • BREAKING FIX: Correct coordinate system for a circular viewport (#2174). (93dc4325)
  • BREAKING FIX: PolygonComponent no longer modifies _vertices (#2061). (8cd4793a)
  • BREAKING FEAT: Add OpacityProvider (#2062). (0255cc32)

1.4.0 #

Note: This release has breaking changes.

  • REFACTOR: move broadphase-related functionality into separate subdirectory (#1943). (f23acd41)

  • REFACTOR: used simpler and more implicit widgets in GameWidget (#1862). (44d17c64)

  • PERF: SpriteAnimationWidget will re-render only when needed (#1876). (bb678301)

  • FIX: Hitbox children of a CompositeHitbox to return correct parent (#1922). (d518705e)

  • FIX: OpacityEffect rounding error calculation (#1933). (4cfcfa64)

  • FIX: Expose hitboxParent from Hitbox (#1928). (3ba93351)

  • FIX: Raycast from CircleHitbox's center (#1918). (57ca47c8)

  • FEAT: quad tree broadphase support (#1894). (e33d5410)

  • FEAT: Make _ButtonState public for SpriteButtonComponent (#1941). (e80412c5)

  • FEAT: Add possibility for solid hitboxes (#1919). (205ac561)

  • FEAT: Adding callbacks for EffectController (#1926) (#1931). (8dcdf155)

  • FEAT: Added DebugTextFormatter (#1921). (426827d1)

  • FEAT: Add lookAt method for PositionComponent (#1891). (720c3566)

  • FEAT: add applyLifespanToChildren to Particle generate (#1911). (884d5190)

  • FEAT: Add broadphase generics to CollisionDetection (#1908). (f7714122)

  • FEAT: Adding ClipComponent (#1769). (f34d86db)

  • FEAT: Add support for isometric staggered maps (#1895). (96be8408)

  • FEAT: Experimental integer viewport (#1866). (63822de3)

  • FEAT: RecycledQueue now supports modification during iteration (#1884). (01b59493)

  • FEAT: Allow children of ComposedParticle to have varied lifespan (#1879). (6db519ec)

  • FEAT: Add removeWhere to Component (#1878). (abd28f28)

  • FEAT: Added RecycledQueue class (#1864). (9457e38e)

  • FEAT: Possibility to ignore hitboxes for ray casting (#1863). (b22bc643)

  • DOCS: Added Style Guide and Test Writing Guide (#1897). (999caca1)

  • BREAKING FIX: Make all ComponentSet modifications internal (#1877). (f26a066d) Migration instructions: For most methods Component has the corresponding methods directly on it already. For example, instead of using component.children.addAll you should do component.addAll.

  • BREAKING CHORE: Remove functions/classes that were scheduled for removal in v1.3.0 (#1867). (00ab347c) For each deleted function/method/class, the deprecation comment already specifies what functionality should be used instead.

1.3.0 #

Note: This release has breaking changes.

  • REFACTOR: Use new "super"-constructors in ShapeComponents (#1752). (b69e8d85)
  • REFACTOR: Game is now a class, not a mixin (#1751). (5225a4eb)
  • PERF: Use TextElements within the TextComponent (#1802). (7b044430)
  • PERF: Avoid unnecessary copy in AssetsCache.readBinaryFile (#1749). (7e79638d)
  • FIX: ButtonComponent behavior when the engine is paused (#1726). (197e63d6)
  • FIX: Correct flutter constraint (#1731). (c7383843)
  • FIX: World component can now be queried with componentsAtPoint (#1739). (f750d705)
  • FIX: Merge basic and advanced gesture detectors (#1718). (f08f8e12)
  • FIX: Correct key events in GameWidget.controller (#1745). (01ed2ec9)
  • FIX: Camera incorrect follow with zoom and world boundaries. (c1756177)
  • FIX: Add missing paint arguments on shapes (#1727). (e59f3428)
  • FIX: Delay camera update (#1811). (a5598a8f)
  • FIX: Overlays can now be properly added during onLoad (#1759). (9f35b154)
  • FIX: SpriteAnimationWidget can now be update animation safely (#1738). (eb070195)
  • FIX: JoystickComponent drags using the delta Viewport (#1831). (54e40de6)
  • FIX: Specify size for the SpriteWidget (#1760). (82f75fcb)
  • FEAT: New colors to palette.dart (#1783). (85cd60e1)
  • FEAT: add children argument to SpriteComponent.fromImage (#1793). (80a63362)
  • FEAT: Added Decorator class and HasDecorator mixin (#1781). (8d00847c)
  • FEAT: Added TextFormatter classes (#1720). (c44272be)
  • FEAT: Move to Flutter 3.0.0 and Dart 2.17.0 (#1713). (2a41d0d6)
  • FEAT: Added Rotate3DDecorator (#1805). (f05194c8)
  • FEAT: Added Shadow3DDecorator (#1812). (0a41b2da)
  • FEAT: Add tertiary tap detector mixin (#1815). (e9e7b0d5)
  • FEAT: Add Ray2 class to be used in raytracing/casting (#1788). (26196c01)
  • FEAT: Added RouterComponent (#1755). (24092bd7)
  • FEAT: Structured text and text styles (#1830). (bfdc3a29)
  • FEAT: Drag events that dispatch using componentsAtPoint (#1715). (10669c12)
  • FEAT: Added routes that can return a value (#1848). (f1b276e0)
  • FEAT: PositionComponent now has a built-in Decorator (#1846). (8dd52c33)
  • FEAT: add HasAncestor mixin (#1711). (987a44f4)
  • FEAT: Added ability to control overlays via the RouterComponent (#1840). (e2de70c9)
  • FEAT: Add vector projection and inversion (#1787). (d197870f)
  • DOCS: Klondike tutorial, part 4 (#1740). (02d0b71b)
  • BREAKING REFACTOR: Matcher closeToVector() now accepts Vector2 as an argument (#1761). (c5083501)
  • BREAKING PERF: Game.images/assets are now same as Flame.images/assets by default (#1775). (0ccb0e2e)
  • BREAKING FEAT: Raycasting and raytracing (#1785). (ed452dd1)

1.2.1 #

Note: This release has breaking changes.

  • REFACTOR: Game is now a class, not a mixin (#1751). (5225a4eb)
  • REFACTOR: Use new "super"-constructors in ShapeComponents (#1752). (b69e8d85)
  • PERF: Avoid unnecessary copy in AssetsCache.readBinaryFile (#1749). (7e79638d)
  • FIX: Specify size for the SpriteWidget (#1760). (82f75fcb)
  • FIX: SpriteAnimationWidget can now be update animation safely (#1738). (eb070195)
  • FIX: Overlays can now be properly added during onLoad (#1759). (9f35b154)
  • FIX: Camera incorrect follow with zoom and world boundaries. (c1756177)
  • FIX: Correct key events in GameWidget.controller (#1745). (01ed2ec9)
  • FIX: World component can now be queried with componentsAtPoint (#1739). (f750d705)
  • FIX: Correct flutter constraint (#1731). (c7383843)
  • FIX: ButtonComponent behavior when the engine is paused (#1726). (197e63d6)
  • FIX: Add missing paint arguments on shapes (#1727). (e59f3428)
  • FIX: Merge basic and advanced gesture detectors (#1718). (f08f8e12)
  • FEAT: New colors to palette.dart (#1783). (85cd60e1)
  • FEAT: Added TextFormatter classes (#1720). (c44272be)
  • FEAT: Drag events that dispatch using componentsAtPoint (#1715). (10669c12)
  • FEAT: add HasAncestor mixin (#1711). (987a44f4)
  • FEAT: Move to Flutter 3.0.0 and Dart 2.17.0 (#1713). (2a41d0d6)
  • DOCS: Klondike tutorial, part 4 (#1740). (02d0b71b)
  • BREAKING PERF: Game.images/assets are now same as Flame.images/assets by default (#1775). (0ccb0e2e)

1.2.0 #

Note: This release has breaking changes.

  • REFACTOR: Organize Component class (#1608). (069294f4)

  • REFACTOR: Remove unecessary copy operation on Camera (#1708). (94cc115a)

  • REFACTOR: Update and guarantee consistency on mocktail dev dependency version across repo (#1701). (f4a98878)

  • REFACTOR: Add onComplete as optional parameter (#1686). (4ca65f8a)

  • REFACTOR: Added MultiDragListener - common API between HasDraggables and MultiTouchDragDetector (#1668). (801dbba1)

  • REFACTOR: Simplify Component.firstChild, .lastChild, and .findParent (#1673). (84f2f57e)

  • REFACTOR: Replace some usages of fold<> with .sum (#1670). (dd05ecb6)

  • REFACTOR: Deprecate ComponentSet.createDefault() (#1676). (f37e3a20)

  • REFACTOR: Simplify HudButtonComponent (#1647). (30d84b7c)

  • REFACTOR: Component's lifecycle futures moved into LifecycleManager (#1613). (39201c40)

  • REFACTOR: TextRenderer and TextPaint moved to separate files (#1628). (5e1f5966)

  • REFACTOR: Move to package imports (#1625). (843ddc36)

  • REFACTOR: Improve tests (#1609). (f33b3986)

  • FIX: Fix tile flips when using canvas.drawAtlas (#1610). (b4ad498f)

  • FIX: Expose CompositeHitbox (#1589). (78775798)

  • FIX: Anchor equality operator is now more reliable (#1560). (0d6581ef)

  • FIX: Deprecate Anchor.translate() (#1672). (80c648fc)

  • FIX: Avoid leaks when using PictureRecorders (#1643). (d67065e5)

  • FIX: Remove nonVirtual method shouldRemove (#1707). (1efd067e)

  • FIX: Fix flame package example app (#1709). (bd2ef967)

  • FIX: Subscription for events when game changes in GameWidget (#1659). (04f0d5d1)

  • FIX: performance improvements on SpriteBatch APIs (#1637). (4b19a1b2)

  • FIX: Removed warnings using flutter v3 (#1640). (69214827)

  • FIX: ParallaxComponent.update mustCallSuper (#1635). (9474ce74)

  • FIX: Isometric tile map component uses scale when getting block from position (#1569). (0c430786)

  • FIX: Dispose TextBoxComponent image cache properly (#1579). (c0e3257a)

  • FIX: ParentIsA missing mustCallSuper (#1604). (72129019)

  • FIX: Component can now be removed in any lifecycle stage (#1601). (c0a14156)

  • FIX: Export NotifyingVector2 (#1633). (aeaf9999)

  • FIX: RectangleHitbox should shrink to bounds (#1596). (60df3b9f)

  • FIX: Components in uninitialized state can now be safely removed (#1551). (ba617790)

  • FIX: Bug in "tty" TextBoxComponent (#1619). (6cc3e827)

  • FIX: Component.loaded future sometimes failed to complete (#1593). (89ee9b98)

  • FIX: correctly calculating frame length (#1578). (efda45e7)

  • FIX: Optimize AcceleratedParticle and MovingParticle (#1568). (5591c109)

  • FEAT: Method componentsAtPoint now reports the "stacktrace" of points (#1615). (e2398966)

  • FEAT: Allow changing parent from null parent (#1662). (53268b5f)

  • FEAT: Callbacks in HudButtonComponent constructor and ViewportMargin mixin to avoid code duplication (#1685). (f55b2e0d)

  • FEAT: Add more lint rules (#1703). (49252f8e)

  • FEAT: Keep stacktrace when rethrowing an error from GameWidget (#1675). (dd28183b)

  • FEAT: Aligned text in the TextBoxComponent (#1620). (c64aedae)

  • FEAT: Included completed completer in SpriteAnimation (#1564). (71999b19)

  • FEAT: Optional key for Images.load (#1624). (067c34b5)

  • FEAT: Bump to Flutter 2.10.0 (#1617). (beac9013)

  • FEAT: Add isFirstFrame and onStart event to SpriteAnimation (#1492). (701d0706)

  • FEAT: Add FpsComponent and FpsTextComponent (#1595). (4c68c2b0)

  • FEAT: Added FollowBehavior and ability for the new Camera to follow a component (#1561). (b583388c)

  • FEAT: Added componentsAtPoint() iterable (#1518). (b99e3512)

  • FEAT: Added AnchorToEffect and AnchorByEffect (#1556). (eff72794)

  • FEAT: Added utility function solveCubic() (#1696). (31784ca0)

  • FEAT: add FutureOr support on SpriteButton (#1645). (2e82dc95)

  • FEAT: MoveAlongPathEffect can now be applied to any PositionProvider (#1555). (a0ff2d18)

  • FEAT: adding KeyboardListenerComponent (#1594). (c887c361)

  • FEAT: new flame bloc API (#1538). (f98970a9)

  • FEAT: Added the onLongTapDown event (#1587). (ed302d89)

  • FEAT: Add ability to add/remove multiple overlays at once (#1657). (0ac84c00)

  • FEAT: Helpers for whether a PositionComponent is flipped. (#1700). (cf67147e)

  • FEAT: World bounds for a CameraComponent (#1605). (abb497ab)

  • FEAT: Implement tap events based on componentsAtPoint (#1661). (2711ba60)

  • FEAT: add ParentIsA to force parent child relations (#1566). (2cdf3868)

  • FEAT: Adding classes for raw geometric shapes (#1528). (666a2b19)

  • FEAT: Add solveQuadratic() utility function (#1665). (d8bbfc06)

  • FEAT: allow external packages to await for game to be loaded (#1699). (a15eda0b)

  • FEAT: Children as argument to FlameGame (#1680). (db336c03)

  • FEAT: Add range constructor on SpriteAnimationData (#1572). (e42b4958)

  • FEAT: Add helper function for creating golden tests (#1623). (d0faaada)

  • FEAT: Added ability to render spritesheet-based fonts (#1634). (3f287898)

  • BREAKING FIX: FixedResolutionViewport noClip -> clip (#1612). (02be4acd)

  • BREAKING FEAT: Adding GameWidget.controlled (#1650). (7ef6a51e)

  • BREAKING FEAT: remove onTimingsCallback for Flutter 3.0 (#1626). (0761a79d)

  • BREAKING FIX: Game.mouseCursor and Game.overlays can now be safely set during onLoad (#1498). (821d01c3) Migration instructions: The mouseCursor property is now a plain property with a setter, not a ChangeNotifier. Consequently, instead of writing game.mouseCursor.value = ..., one needs to write game.mouseCursor = ... now.

  • BREAKING FEAT: Added anchor for the Viewport (#1611). (c3bb14b7) Migration instructions: The coordinate system of the Viewport now always has the origin in the top-left corner of its bounding box (previously it was in the center) -- similar to the local coordinate system of a PositionComponent.

  • BREAKING FEAT: Add ability to render without loading on image related widgets (#1674). (40a061bc) Migration instructions: It only breaks SpriteButton when you are using future as a sprite or pressedSprite parameter. You should use SpriteButton.future if previously you are using future as a parameter.

  • BREAKING FEAT: Size effects will now work only on components implementing SizeProvider (#1571). (1bfed571) Migration instructions: It only breaks SpriteButton when you are using future as a sprite or pressedSprite parameter. You should use SpriteButton.future if previously you are using future as a parameter.

1.1.1 #

  • REFACTOR: Added classes MoveByEffect and MoveToEffect (#1524). (2171a119)
  • FIX: Invalidate polygon cache on resize (#1529). (11bf75d0)
  • FIX: Bug with anchor parameter in Sprite.render() (#1508). (325df46e)
  • FIX: Make CollisionProspect's a, b have unordered equality (#1519). (5b2471c8)
  • FEAT: able to clear all overlays (#1536). (7b15c9a1)
  • FEAT: Automatic Isometric Grid scaling (#1468). (cae8c0ce)
  • FEAT: Added children parameter to Component constructor (#1525). (f0b31fcf)
  • FEAT: Camera's Viewfinder can now be affected by rotation effects (#1527). (f46cae04)
  • FEAT: Scale (zoom) effects can now be applied to Viewfinder in CameraComponent (#1514). (403b6e60)
  • FEAT: adding HasGameRef.mockGameRef (#1520). (4f389f8b)
  • FEAT: flame tests can now generate golden tests (#1501). (316a0b3b)

1.1.0 #

  • Graduate package to a stable release. See pre-releases prior to this version for changelog entries.

1.1.0-releasecandidate.6 #

  • FIX: Only end collisions where there was a collision (#1471). (e1e87fc4)
  • FIX: debugMode should be inherited from parent when mounted (#1469). (e894d201)
  • FEAT: Added method that returned descendants (#1461). (a41f5376)
  • FEAT: Possibility to mark gesture events as handled (#1465). (4c3960c3)
  • FEAT: adding loaded future to the component (#1466). (6434829b)
  • FEAT: Deprecating Rect methods (#1455). (4ddd90aa)
  • FEAT: Added .anchor property to CameraComponent.Viewfinder (#1458). (d51dc5e1)
  • DOCS: Rect extension docs is out of date (#1451). (7e505722)

1.1.0-releasecandidate.5 #

  • FIX: @mustCallSuper missing on components (#1443). (e01b4b1a)
  • FEAT: Add setter to priority (#1444). (34284686)

1.1.0-releasecandidate.4 #

  • FIX: Setting images.prefix to empty string (#1437). (694102bd)

1.1.0-releasecandidate.3 #

  • REFACTOR: Parent change and component removal logic (#1385). (8b9fa352)
  • FIX: viewfinders behavior under zoom (#1432). (f3cf85b6)
  • FIX: change strokeWidth in Component (#1431). (0e174fe8)
  • FEAT: allowing changing of the images prefix and allowing empty prefixes (#1433). (de4d9416)

1.1.0-releasecandidate.2 #

Note: This release has breaking changes.

  • REFACTOR: Loadable mixin no longer declares onMount and onRemove (#1243). (b1f6a34c)
  • REFACTOR: Organize tests in the game/ folder (#1403). (102a27cc)
  • REFACTOR: Clean up of top-level tests (#1386). (e50003ed)
  • REFACTOR: Resize logic in GameRenderBox (#1308). (17c45c28)
  • REFACTOR: Simplify GameWidgetState.loaderFuture (#1232). (eb30c2e5)
  • REFACTOR: Component.ancestors() is now an iterator (#1242). (ce48d77a)
  • REFACTOR: Add a few more rules to flame_lint, including use_key_in_widget_constructors (#1248). (bac6c8a4)
  • REFACTOR: Removed parameter Component.updateTree({callOwnUpdate}) (#1224). (ed227e7c)
  • REFACTOR: Remove Loadable, optional onLoads (#1333). (05f7a4c3)
  • REFACTOR: Loadable no longer declares onGameResize (#1329). (20776e86)
  • REFACTOR: Use canvas.drawImageNine in NineTileBox (#1314). (d77e5efe)
  • PERF: Allow components to have null children (#1231). (66ad4b08)
  • FIX: flame svg perfomance (#1373). (bce24173)
  • FIX: Fix collision detection comments and typo (#1422). (dfeafdd6)
  • FIX: ParallaxComponent should have static positionType (#1350). (cfa6bd12)
  • FIX: Add missing priority argument for JoystickComponent (#1227). (23b1dd8b)
  • FIX: Step time in SpriteAnimation must be positive (#1387). (08e8eac1)
  • FIX: HudMarginComponent positioning on zoom (#1250). (4f0fb2de)
  • FIX: Call onCollisionEnd on removal of Collidable (#1247). (5ddcc6f7)
  • FIX: Both places should have strictMode = false (#1272). (72161ad8)
  • FIX: remove vector_math dependency (#1361). (56b33da2)
  • FIX: Deprecate pause and resume in GameLoop (#1240). (dc37053f)
  • FIX: Deprecate Images.decodeImageFromPixels (#1318). (1a80130c)
  • FIX: Properly dispose images when cache is cleared (#1312). (825fb0cc)
  • FIX: Fix SpriteAnimationWidget lifecycle (#1212). (86394dd3)
  • FIX: redrawing bug in TextBoxComponent (#1279). (8bef4805)
  • FIX: Add missing paint argument to SpriteComponent.fromImage (#1294). (254a60c8)
  • FIX: black frame when activating overlays (#1093). (85caf463)
  • FIX: prepareComponent should never run again on a prepared component (#1237). (7d3eeb73)
  • FIX: Allow most basic and advanced gesture detectors together (#1208). (5828b6f3)
  • FEAT: Added SpeedEffectController (#1260). (20f521f5)
  • FEAT: Added SineEffectController (#1262). (c888703d)
  • FEAT: Added ZigzagEffectController (#1261). (59adc5f3)
  • FEAT: Add onReleased callback for HudButtonComponent (#1296). (87ee34ca)
  • FEAT: Turn off strictMode for children (#1271). (6936e1d9)
  • FEAT: onCollisionStart for Collidable and HitboxShape (#1251). (9b95686b)
  • FEAT: adding has mounted to component (#1418). (f8f9e045)
  • FEAT: Added NoiseEffectController (#1356). (fad9d1d5)
  • FEAT: exporting cache classes (#1368). (3e058973)
  • FEAT: Update scale events to contain pan info (#1327). (70b96b07)
  • FEAT: Components are now always added in the correct order (#1337). (c753fc46)
  • FEAT: Added transform to Rect (#1360). (1818be41)
  • FEAT: Camera as a component (#1355). (c61a1c18)
  • FEAT: Effect.onComplete callback as an alternative to onFinish() (#1201). (932a8111)
  • FEAT: Add RandomEffectController (#1203). (cdb2650b)
  • FEAT: Component.childrenFactory can be used to set up a global ComponentSet factory (#1193). (223ab758)
  • DOCS: Added documentation for GameLoop class (#1234). (b1d4e587)
  • DOCS: Fix various dartdoc warnings (#1353). (9f096053)
  • BREAKING REFACTOR: Separate ComponentSet from the Component (#1266). (e2655b88)
  • BREAKING FIX: Remove pointerId from Draggable callbacks (#1313). (27adda17)
  • BREAKING FEAT: Use a broadphase to make collision detection more efficient (#1252). (29dd09ca)
  • BREAKING FEAT: Added SequenceEffect (#1218). (7c6ae6de)

1.1.0-releasecandidate.1 #

Note: This release has breaking changes.

  • REFACTOR: Clean up of top-level tests (#1386). (e50003ed)
  • REFACTOR: Remove Loadable, optional onLoads (#1333). (05f7a4c3)
  • REFACTOR: Loadable no longer declares onGameResize (#1329). (20776e86)
  • REFACTOR: Organize tests in the game/ folder (#1403). (102a27cc)
  • REFACTOR: Use canvas.drawImageNine in NineTileBox (#1314). (d77e5efe)
  • REFACTOR: Resize logic in GameRenderBox (#1308). (17c45c28)
  • REFACTOR: Loadable mixin no longer declares onMount and onRemove (#1243). (b1f6a34c)
  • REFACTOR: Removed parameter Component.updateTree({callOwnUpdate}) (#1224). (ed227e7c)
  • REFACTOR: Add a few more rules to flame_lint, including use_key_in_widget_constructors (#1248). (bac6c8a4)
  • REFACTOR: Component.ancestors() is now an iterator (#1242). (ce48d77a)
  • REFACTOR: Simplify GameWidgetState.loaderFuture (#1232). (eb30c2e5)
  • PERF: Allow components to have null children (#1231). (66ad4b08)
  • FIX: prepareComponent should never run again on a prepared component (#1237). (7d3eeb73)
  • FIX: flame svg perfomance (#1373). (bce24173)
  • FIX: Deprecate pause and resume in GameLoop (#1240). (dc37053f)
  • FIX: Deprecate Images.decodeImageFromPixels (#1318). (1a80130c)
  • FIX: Properly dispose images when cache is cleared (#1312). (825fb0cc)
  • FIX: Add missing paint argument to SpriteComponent.fromImage (#1294). (254a60c8)
  • FIX: Add missing priority argument for JoystickComponent (#1227). (23b1dd8b)
  • FIX: remove vector_math dependency (#1361). (56b33da2)
  • FIX: redrawing bug in TextBoxComponent (#1279). (8bef4805)
  • FIX: Fix SpriteAnimationWidget lifecycle (#1212). (86394dd3)
  • FIX: black frame when activating overlays (#1093). (85caf463)
  • FIX: Call onCollisionEnd on removal of Collidable (#1247). (5ddcc6f7)
  • FIX: HudMarginComponent positioning on zoom (#1250). (4f0fb2de)
  • FIX: Both places should have strictMode = false (#1272). (72161ad8)
  • FIX: ParallaxComponent should have static positionType (#1350). (cfa6bd12)
  • FIX: Allow most basic and advanced gesture detectors together (#1208). (5828b6f3)
  • FIX: Step time in SpriteAnimation must be positive (#1387). (08e8eac1)
  • FEAT: Update scale events to contain pan info (#1327). (70b96b07)
  • FEAT: Add RandomEffectController (#1203). (cdb2650b)
  • FEAT: Components are now always added in the correct order (#1337). (c753fc46)
  • FEAT: Effect.onComplete callback as an alternative to onFinish() (#1201). (932a8111)
  • FEAT: exporting cache classes (#1368). (3e058973)
  • FEAT: Added NoiseEffectController (#1356). (fad9d1d5)
  • FEAT: Added SineEffectController (#1262). (c888703d)
  • FEAT: Added SpeedEffectController (#1260). (20f521f5)
  • FEAT: Added ZigzagEffectController (#1261). (59adc5f3)
  • FEAT: Turn off strictMode for children (#1271). (6936e1d9)
  • FEAT: onCollisionStart for Collidable and HitboxShape (#1251). (9b95686b)
  • FEAT: Component.childrenFactory can be used to set up a global ComponentSet factory (#1193). (223ab758)
  • FEAT: Added transform to Rect (#1360). (1818be41)
  • FEAT: Add onReleased callback for HudButtonComponent (#1296). (87ee34ca)
  • DOCS: Fix various dartdoc warnings (#1353). (9f096053)
  • DOCS: Added documentation for GameLoop class (#1234). (b1d4e587)
  • BREAKING REFACTOR: Separate ComponentSet from the Component (#1266). (e2655b88)
  • BREAKING FIX: Remove pointerId from Draggable callbacks (#1313). (27adda17)
  • BREAKING FEAT: Added SequenceEffect (#1218). (7c6ae6de)

CHANGELOG #

[1.0.0] #

  • Add ButtonComponent backed by two PositionComponents
  • Add SpriteButtonComponent backed by two Sprites
  • Allow more flexible construction of EffectControllers and make them able to run back in time
  • Remove old effects system
  • Export new effects system
  • Introduce updateTree to follow the renderTree convention
  • Fix Parallax.load with different loading times
  • Fix render order of components and add tests
  • Fix HitboxCircle when component is flipped
  • Add ColorEffect
  • MoveAlongPathEffect can now be absolute, and can auto-orient the object along the path
  • ScaleEffect.by now applies multiplicatively instead of additively
  • isHud replaced with PositionType
  • Remove web fallback for drawAtlas in SpriteBatch, but added flag useAtlas to activate it

[1.0.0-releasecandidate.18] #

  • Forcing portrait and landscape mode is now supported on web
  • Fixed margin calculation in HudMarginComponent when using a viewport
  • Fixed position calculation in HudMarginComponent when using a viewport
  • Add noClip option to FixedResolutionViewport
  • Add a few missing helpers to SpriteAnimation

[1.0.0-releasecandidate.17] #

  • Added StandardEffectController class
  • Refactored Effect class to use EffectController, added Transform2DEffect class
  • Clarified TimerComponent example
  • Fixed pause and resume engines when GameWidget had rebuilds
  • Removed runOnCreation attribute in favor of the paused attribute on FlameGame
  • Add CustomPainterComponent
  • Alternative implementation of RotateEffect, based on Transform2DEffect
  • Alternative implementation of MoveEffect, based on Transform2DEffect
  • Fix onGameResize margin bug in HudMarginComponent
  • PositionComponent.size now returns a NotifyingVector2
  • Possibility to manually remove TimerComponent
  • Rename Hitbox mixin to HasHitboxes
  • Added RemoveEffect and SimpleEffectController
  • Create default implementations of RectangleComponent, CircleComponent and PolygonComponent
  • Streamlined the argument list for all components extending PositionComponent
  • Improved interaction between viewport and isHud components
  • randomColor method in the Color extension
  • Calling super-method in .render() is now optional
  • Components that manipulate canvas state are now responsible for saving/restoring that state
  • Remove super.render calls that are no longer needed
  • Fixed typo in error message
  • TextPaint to use TextStyle (material) instead of TextPaintConfig
  • Underlying Shapes in ShapeComponent transform with components position, size and angle
  • HitboxShape takes parents ancestors transformations into consideration (not scaling)
  • Fixed black frame when updating game widget (ex: adding overlays)
  • Added possibility to extend JoystickComponent
  • Renamed FlameTester to GameTester
  • Modified FlameTester to be specific for T extends FlameGame
  • Improved TimerComponent
  • Removed methods preRender() and postRender() in Component
  • Use FlameTester everywhere where it makes sense in the tests
  • Improved IsometricTileMap
  • Fix PositionComponent's flipHorizontallyAroundCenter and flipVerticallyAroundCenter
  • Initialization of all PositionComponents can be done from onLoad instead of the constructor
  • Rename HasTappableComponents to HasTappables
  • Rename HasDraggableComponents to HasDraggables
  • Rename HasHoverableComponents to HasHoverableis
  • Added SizeEffect backed by the new effects engine
  • Added ScaleEffect backed by the new effects engine
  • Added OpacityEffect backed by the new effects engine
  • Update OrderedSet to 4.1.0
  • Update OrderedSet to 5.0.0

[1.0.0-releasecandidate.16] #

  • changePriority no longer breaks game loop iteration
  • Move component mixin checks to their own files
  • Fix exception when game was rebuilt
  • Add @mustCallSuper on Component.render
  • Add SpriteSheet.createAnimationVariable method to allow animations with different stepTime for each sprite
  • Use the full delta in JoystickComponent so that it can't go to the wrong direction on the wrong side
  • Improved the menu for documentation version selection
  • Introduce onDoubleTapDown with info and onDoubleTapCancel
  • Changed onHoverEnter and onHoverLeave to return bool (breaking change)
  • Improved "move effect" example in the Dashbook
  • Use documentation versions generated from flame-docs-site

[1.0.0-releasecandidate.15] #

  • Fix issue with Draggables not being removed from draggables list
  • Increase Flutter SDK constraint to >= 2.5.0.
  • Method PositionComponent.toRect() now works for flipped/rotated components.
  • Make the root bundle exposed via Flame.bundle actually configurable
  • Take in an optional Camera as a parameter to FlameGame
  • Make super.onLoad mandatory to avoid memory leaks
  • QueryableOrderedSet's strictMode is configurable so it is no longer necessary to call register before query
  • Add option to rotate SpriteWidget
  • Fix bug where onRemove was called during resizing
  • Add onAttach and onDetach to Game

[1.0.0-releasecandidate.14] #

  • Reset effects after they are done so that they can be repeated
  • Remove integrated joystick buttons
  • Add MarginHudComponent, used when components need to have a margin to the viewport edge
  • Refactor JoystickComponent
  • Add SpriteAnimationWidget.asset
  • Add SpriteWidget.asset
  • Add SpriteButton.asset
  • Add NineTileBox.asset
  • Fix resolution of TextBoxComponent
  • Add BaseGame.remove and BaseGame.removeAll helpers for removing components
  • Add BaseComponent.remove and BaseComponent.removeAll helpers for removing children
  • Rename Camera.cameraSpeed to Camera.speed
  • Rename addShape to addHitbox in Hitbox mixin
  • Fix bug with Events and Draggables
  • Add generics to components with HasGameRef so that they can be extended and have another gameRef
  • Fix parallax fullscreen bug when game is resized
  • Generalize paint usage on components
  • Create OpacityEffect
  • Create ColorEffect
  • Adding ability to pause SpriteAnimationComponent
  • Adding SpriteGroupComponent
  • Fix truncated last frame in non-looping animations
  • Default size of SpriteComponent is srcSize instead of spritesheet size
  • Export test helper methods
  • Rename ScaleEffect to SizeEffect
  • Introduce scale on PositionComponent
  • Add ScaleEffect that works on scale instead of size
  • Add class NotifyingVector2
  • Add class Transform2D
  • Added helper functions testRandom() and testWidgetsRandom()
  • Remove FPSCounter from BaseGame
  • Refactor PositionComponent to work with Transform2D: the component now works more reliably when nested
  • Properties renderFlipX, renderFlipY removed and replaced with methods flipHorizontally() and flipVertically().
  • Method .angleTo removed as it was not working properly.
  • In debug mode PositionComponent now displays an indicator for the anchor position.
  • Update Camera docs to showcase usage with Game class
  • Fixed a bug with worldBounds being set to null in Camera
  • Remove .viewport from BaseGame, use camera.viewport instead
  • MockCanvas is now strongly typed and matches numeric coordinates up to a tolerance
  • Add loadAllImages to Images, which loads all images from the prefixed path
  • Reviewed the keyboard API with new mixins (KeyboardHandler and HasKeyboardHandlerComponents)
  • Added FocusNode on the game widget and improved keyboard handling in the game.
  • Added ability to have custom mouse cursor on the GameWidget region
  • Change sprite component to default to the Sprite size if not provided
  • TextBoxComponent waits for cache to be filled on onLoad
  • TextBoxComponent can have customizable pixelRatio
  • Add ContainsAtLeastMockCanvas to facilitate testing with MockCanvas
  • Support for drawImage for MockCanvas
  • Game is now a Component
  • ComponentEffect is now a Component
  • HasGameRef can now operate independently from Game
  • initialDelay and peakDelay for effects to handle time before and after an effect
  • component.onMount now runs every time a component gets a new parent
  • Add collision detection between child components

[1.0.0-releasecandidate.13] #

  • Fix camera not ending up in the correct position on long jumps
  • Make the JoystickPlayer a PositionComponent
  • Extract shared logic when handling components set in BaseComponent and BaseGame to ComponentSet.
  • Rename camera.shake(amount: x) to camera.shake(duration: x)
  • Fix SpriteAnimationComponent docs to use Future.wait
  • Add an empty postRender method that will run after each components render method
  • Rename Tapable to Tappable
  • Fix SpriteAnimationComponent docs to use Future.wait
  • Add an empty postRender method that will run after each components render method
  • Rename HasTapableComponents to HasTappableComponents
  • Rename prepareCanvas to preRender
  • Add intensity to Camera.shake
  • FixedResolutionViewport to use matrix transformations for Canvas

[1.0.0-releasecandidate.12] #

  • Fix link to code in example stories
  • Fix RotateEffect with negative deltas
  • Add isDragged to Draggable
  • Fix anchor of rendered text in TextComponent
  • Add new extensions to handle math.Rectangles nicely
  • Implement color parsing methods
  • Migrated the Particle API to Vector2
  • Add copyWith function to TextRenderer
  • Fix debug mode is not propagated to children of non-Position components
  • Fix size property of TextComponent was not correctly set
  • Fix anchor property was being incorrectly passed along to text renderer
  • All components take priority as an argument on their constructors
  • Fix renderRotated
  • Use QueryableOrderedSet for Collidables
  • Refactor TextBoxComponent
  • Fix bugs with TextBoxComponent
  • Improve error message for composed components
  • Fix game.size to take zoom into consideration
  • Fix camera.followComponent when zoom != 1
  • Add anchor for ShapeComponent constructor
  • Fix rendering of polygons in ShapeComponent
  • Add SpriteAnimation support to parallax
  • Fix Parallax alignment for images with different width and height
  • Fix ImageComposition image bounds validation
  • Improved the internal RenderObject widget performance
  • Add Matrix4 extensions
  • Camera.apply is done with matrix transformations
  • Camera zooming is taking current relativeOffset into account
  • Fix gestures for when isHud = true and Camera is modified
  • Fix Camera zoom behavior with offset/anchor

[1.0.0-releasecandidate.11] #

  • Replace deprecated analysis option lines-of-executable-code with source-lines-of-code
  • Fix the anchor of SpriteWidget
  • Add test for re-adding previously removed component
  • Add possibility to dynamically change priority of components
  • Add onCollisionEnd to make it possible for the user to easily detect when a collision ends
  • Adding test coverage to packages
  • Possibility to have non-fullscreen ParallaxComponent
  • No need to send size in ParallaxComponent.fromParallax since Parallax already contains it
  • Fix Text Rendering not working properly
  • Add more useful methods to the IsometricTileMap component
  • Add Hoverables
  • Brief semantic update to second tutorial.

[1.0.0-rc10] #

  • Updated tutorial documentation to indicate use of new version
  • Fix bounding box check in collision detection
  • Refactor on flame input system to correctly take camera into account
  • Adding SpriteAnimationGroupComponent
  • Allow isometric tile maps with custom heights
  • Add a new renderRect method to Sprite
  • Addresses the TODO to change the camera public APIs to take Anchors for relativePositions
  • Adds methods to support moving the camera relative to its current position
  • Abstracting the text api to allow custom text renderers on the framework
  • Set the same debug mode for children as for the parent when added
  • Fix camera projections when camera is zoomed
  • Fix collision detection system with angle and parentAngle
  • Fix rendering of shapes that aren't HitboxShape

[1.0.0-rc9] #

  • Fix input bug with other anchors than center
  • Fixed Shape so that the position is now a late
  • Updated the documentation for the supported platforms
  • Add clear function to BaseGame to allow the removal of all components
  • Moving tutorials to the Flame main repository
  • Transforming PaletteEntry.paint to be a method instead of a getter
  • Adding some more basic colors entries to the BasicPalette
  • Fixing Flutter and Dart version constraints
  • Exporting Images and AssetsCache
  • Make size and position in PositionComponent final
  • Add a snapTo and onPositionUpdate method to the Camera
  • Remove the SpriteAnimationComponent when the animation is really done, not when it is on the last frame
  • Revamp all the docs to be up to date with v1.0.0
  • Make Assets and Images caches have a configurable prefix
  • Add followVector2 method to the Camera
  • Make gameRef late
  • Fix Scroll example
  • Add a renderPoint method to Canvas
  • Add zoom to the camera
  • Add moveToTarget as an extension method to Vector2
  • Bring back collision detection examples
  • Fix collision detection in Collidable with multiple offset shapes
  • Publishing Flame examples on github pages

1.0.0-rc8 #

  • Migrate to null safety
  • Refactor the joystick code
  • Fix example app
  • Rename points to intersectionPoints for collision detection
  • Added CollidableType to make collision detection more efficient
  • Rename CollidableType.static to passive
  • Add srcPosition and srcSize for SpriteComponent
  • Improve collision detection with bounding boxes

1.0.0-rc7 #

  • Moving device related methods (like fullScreen) from util.dart to device.dart
  • Moving render functions from util.dart to extensions/canvas.dart
  • Adapting ParallaxComponent contructors to match the pattern followed on other components
  • Adapting SpriteBatchComponent constructors to match the pattern used on other components
  • Improving Parallax APIs regarding handling its size and the use outside FCS
  • Enabling direct import of Sprite and SpriteAnimation
  • Renamed Composition to ImageComposition to prevent confusion with the composition component
  • Added rotation and anchor arguments to ImageComposition.add
  • Added Image extensions
  • Added Color extensions
  • Change RaisedButton to ElevatedButton in timer example
  • Overhaul the draggables api to fix issues relating to local vs global positions
  • Preventing errors caused by the premature use of size property on game
  • Added a hitbox mixin for PositionComponent to make more accurate gestures
  • Added a collision detection system
  • Added geometrical shapes
  • Fix SpriteAnimationComponent.shouldRemove use Component.shouldRemove
  • Add assertion to make sure Draggables are safe to add
  • Add utility methods to the Anchor class to make it more "enum like"
  • Enable user-defined anchors
  • Added toImage method for the Sprite class
  • Uniform use of dt instead of t in all update methods
  • Add more optional arguments for unified constructors of components
  • Fix order that parent -> children render in

1.0.0-rc6 #

  • Use Offset type directly in JoystickAction.update calculations
  • Changed parseAnchor in examples/widgets to throw an exception instead of returning null when it cannot parse an anchor name
  • Code improvements and preparing APIs to null-safety
  • BaseComponent removes children marked as shouldRemove during update
  • Use find instead of globstar pattern in scripts/lint.sh as the later isn't enabled by default in bash
  • Fixes Aseprite constructor bug
  • Improve error handling for the onLoad function
  • Add test for child removal
  • Fix bug where Timer callback doesn't fire for non-repeating timers, also fixing bug with Particle lifespan
  • Adding shortcut for loading Sprites and SpriteAnimation from the global cache
  • Adding loading methods for the different ParallaxComponent parts and refactor how the delta velocity works
  • Add tests for Timer and fix a bug where progress was not reported correctly
  • Refactored the SpriteBatch class to be more elegant and to support Vector2.
  • Added fallback support for the web on the SpriteBatch class
  • Added missing documentation on the SpriteBatch class
  • Added an utility method to load a SpriteBatch on the Game class
  • Updated the widgets.md documentation
  • Removing methods initialDimensions and removeGestureRecognizer to avoid confusion
  • Adding standard for SpriteComponent and SpriteAnimationComponent constructors
  • Added Composition, allows for composing multiple images into a single image.
  • Move files to comply with the dart package layout convention
  • Fix gesture detection bug of children of PositionComponent
  • The game argument on GameWidget is now required

1.0.0-rc5 #

  • Option for overlays to be already visible on the GameWidget
  • Adding game to the overlay builder
  • Rename retreive -> Retrieve
  • Use internal children set in BaseComponent (fixes issue adding multiple children)
  • Remove develop branches from github workflow definition
  • BaseComponent to return UnmodifiableListView for children

1.0.0-rc4 #

  • Rename Dragable -> Draggable
  • Set loop member variable when constructing SpriteAnimationComponent from SpriteAnimationData
  • Effect shouldn't affect unrelated properties on component
  • Fix rendering of children
  • Explicitly define what fields an effect on PositionComponent modifies
  • Properly propagate onMount and onRemove to children
  • Adding Canvas extensions
  • Remove Resizable mixin
  • Use config defaults for TextBoxComponent
  • Fixing Game Render Box for flutter >= 1.25
  • DebugMode to be variable instead of function on BaseGame

1.0.0-rc3 #

  • Fix TextBoxComponent rendering
  • Add TextBoxConfig options; margins and growingBox
  • Fix debugConfig strokeWidth for web
  • Update Forge2D docs
  • Update PR template with removal of develop branch
  • Translate README to Russian
  • Split up Component and PositionComponent to BaseComponent
  • Unify multiple render methods on Sprite
  • Refactored how games are inserted into a flutter tree
  • Refactored the widgets overlay API
  • Creating new way of loading animations and sprites
  • Dragable mixin for components
  • Fix update+render of component children
  • Update documentation for SVG component
  • Update documentation for PositionComponent
  • Adding Component#onLoad
  • Moving size to Game instead of BaseGame
  • Fix bug with ConcurrentModificationError on add in onMount

1.0.0-rc2 #

  • Improve IsometricTileMap and Spritesheet classes
  • Export full vector_math library from extension
  • Added warning about basic and advanced detectors
  • Ensuring sprite animation and sprite animation components don't get NPEs on initialization
  • Refactor timer class
  • include all changed that are included on 0.28.0
  • Rename game#resize to game#onResize
  • Test suite for basic effects
  • Effects duration and test suite for basic effects
  • Pause and resume for effects
  • Fix position bug in parallax effect
  • Simplification of BaseGame. Removal of addLater (add is now addLater) and rename markForRemoval.
  • Unify naming for removal of components from BaseGame

1.0.0-rc1 #

  • Move all box2d related code and examples to the flame_box2d repo
  • Rename Animation to SpriteAnimation
  • Create extension of Vector2 and unify all tuples to use that class
  • Remove Position class in favor of new Vector2 extension
  • Remove Box2D as a dependency
  • Rebuild of Images, Sprite and SpriteAnimation initialization
  • Use isRelative on effects
  • Use Vector2 for position and size on PositionComponent
  • Removing all deprecated methods
  • Rename resize method on components to onGameResize
  • Make Resizable have a gameSize property instead of size
  • Fix bug with CombinedEffect inside SequenceEffect
  • Fix wrong end angle for relative rotational effects
  • Use a list of Vector2 for Move effect to open up for more advanced move effects
  • Generalize effects api to include all components
  • Extract all the audio related capabilities to a new package, flame_audio
  • Fix bug that sprite crashes without a position

0.29.1-beta #

  • Fixing Game Render Box for flutter >= 1.25

0.29.0 #

  • Update audioplayers to latest version (now assets will not be added to prefixes automatically)
  • Fix lint issues with 0.28.0

0.28.0 #

  • Fix spriteAsWidget deprecation message
  • Add lineHeight property to TextConfig
  • Adding pause and resume methods to time class

0.27.0 #

  • Improved the accuracy of the FPSCounter by using Flutter's internal frame timings.
  • Adding MouseMovementDetector
  • Adding ScrollDetector
  • Fixes BGM error
  • Adding Isometric Tile Maps

0.26.0 #

  • Improving Flame image auto cache
  • Fix bug in the Box2DGame's add and addLater method , when the Component extends BodyComponent and mixin HasGameRef or other mixins ,the mixins will not be set correctly

0.25.0 #

  • Externalizing Tiled support to its own package flame_tiled
  • Preventing some crashs that could happen on web when some methods were called
  • Add mustCallSuper to BaseGame update and render methods
  • Moved FPS code from BaseGame to a mixin, BaseGame uses the new mixin.
  • Deprecate flare API in favor of the package flame_flare

0.24.0 #

  • Outsourcing SVG support to an external package
  • Adding MemoryCache class
  • Fixing games crashes on Web
  • Update tiled dependency to 0.6.0 (objects' properties are now double)

0.23.0 #

  • Add Joystick Component
  • Adding BaseGame#markToRemove
  • Upgrade tiled and flutter_svg dependencies
  • onComplete callback for effects
  • Adding Layers
  • Update tiled dep to 0.5.0 and add support for rotation with improved api

0.22.1 #

  • Fix Box2DComponent render priority
  • Fix PositionComponentEffect drifting
  • Add possibility to combine effects
  • Update to newest box2d_flame which fixes torque bug
  • Adding SpriteSheet.fromImage

0.22.0 #

  • Fixing BaseGame tap detectors issues
  • Adding SpriteWidget
  • Adding AnimationWidget
  • Upgrade Flutter SVG to fix for flame web
  • Add linting to all the examples
  • Run linting only on affected and changed examples
  • Add SequenceEffect
  • Fixed bug with travelTime in RotateEffect

0.21.0 #

  • Adding AssetsCache.readBinaryFile
  • Splitting debugMode from recordFps mode
  • Adding support for multi touch tap and drag events
  • Fix animations example
  • Add possibility for infinite and alternating effects
  • Add rotational effect for PositionComponents

0.20.2 #

  • Fix text component bug with anchor being applied twice

0.20.1 #

  • Adding method to load image bases on base64 data url.
  • Fix Box2DGame to follow render priority
  • Fix games trying to use gameRef inside the resize function

0.20.0 #

  • Refactor game.dart classes into separate files
  • Adding a GameLoop class which uses a Ticker for updating game
  • Adding sprites example
  • Made BaseGame non-abstract and removed SimpleGame
  • Adding SpriteButton Widget
  • Added SpriteBatch API, which renders sprites effectively using Canvas.drawAtlas
  • Introducing basic effects API, including MoveEffect and ScaleEffect
  • Adding ContactCallback controls in Box2DGame

0.19.1 #

  • Bump AudioPlayers version to allow for web support
  • Adding Game#pauseEngine and Game#resumeEngine methods
  • Removing FlameBinding since it isn't used and clashes with newest flutter

0.19.0 #

  • Fixing component lifecycle calls on BaseGame#addLater
  • Fixing Component#onDestroy, which was been called multiple times sometimes
  • Fixing Widget Overlay usage over many game instances

0.18.3 #

  • Adding Component#onDestroy
  • Adding Keyboard events API
  • Adding Box2DGame, an extension of BaseGame to simplify lifecycle of Box2D components
  • Add onAnimateComplete for Animation (thanks @diegomgarcia)
  • Adding AnimationComponent#overridePaint
  • Adding SpriteComponent#overridePaint
  • Updating AudioPlayers to enable Web Audio support

0.18.2 #

  • Add loop for AnimationComponent.sequenced() (thanks @wenxiangjiang)
  • TextComponent optimization (thanks @Gericop)
  • Adding Component#onMount
  • Check if chidren are loaded before rendering on ComposedComponent (thanks @wenxiangjiang)
  • Amend type for width and height properties on Animation.sequenced (thanks @wenxiangjiang)
  • Fixing Tapable position checking
  • Support line feed when create animation from a single image source (thanks @wenxiangjiang)
  • Fixing TextBoxComponent start/end of line bugs (thanks @kurtome)
  • Prevent widgets overlay controller from closing when in debug mode

0.18.1 #

  • Expose stepTime paramter from the Animation class to the animation component
  • Updated versions for bugfixes + improved macOS support. (thanks @flowhorn)
  • Update flutter_svg to 0.17.1 (thanks @flowhorn)
  • Update audioplayers to 0.14.0 (thanks @flowhorn)
  • Update path_provider to 1.6.0 (thanks @flowhorn)
  • Update ordered_set to 1.1.5 (thanks @flowhorn)

0.18.0 #

  • Improving FlareComponent API and updating FlareFlutter dependency
  • Adding HasWidgetsOverlay mixin
  • Adding NineTileBox widget

0.17.4 #

  • Fixing compilations errors regarding changes on box2_flame
  • Add splash screen docs

0.17.3 #

  • Tweaking text box rendering to reduce pixelated text (thanks, @kurtome)
  • Adding NineTileBox component

0.17.2 #

  • Added backgroundColor method for overriding the game background (thanks @wolfenrain)
  • Update AudioPlayers version to 0.13.5
  • Bump SVG dependency plus fix example app

0.17.1 #

  • Added default render function for Box2D ChainShape
  • Adding TimerComponent
  • Added particles subsystem (thanks @av)

0.17.0 #

  • Fixing FlareAnimation API to match convention
  • Fixing FlareComponent renderization
  • New GestureDetector API to Game

0.16.1 #

  • Added Bgm class for easy looping background music management.
  • Added options for flip rendering of PositionComponents easily (horizontal and vertical).

0.16.0 #

  • Improve our mixin structure (breaking change)
  • Adds HasGameRef mixin
  • Fixes for ComposedComponent (for tapables and other apis using preAdd)
  • Added no-parameter alias functions for setting the game's orientation.
  • Prevent double completion on onMetricsChanged callback

0.15.2 #

  • Exposing tile objects on TiledComponent (thanks @renatoferreira656)
  • Adding integrated API for taps on Game class and adding Tapeables mixin for PositionComponents

0.15.1 #

  • Bumped version of svg dependency
  • Fixed warnings

0.15.0 #

  • Refactoring ParallaxComponent (thanks @spydon)
  • Fixing flare animation with embed images
  • Adding override paint parameter to Sprite, and refactoring it have named optional parameters

0.14.2 #

  • Refactoring BaseGame debugMode
  • Adding SpriteSheet class
  • Adding Flame.util.spriteAsWidget
  • Fixing AnimationComponent.empty()
  • Fixing FlameAudio.loopLongAudio

0.14.1 #

  • Fixed build on travis
  • Updated readme badges
  • Fixed changelog
  • Fixed warning on AudioPool, added AudioPool example in docs

0.14.0 #

  • Adding Timer#isRunning method
  • Adding Timer#progress getter
  • Updating Flame to work with Flutter >= 1.6.0

0.13.1 #

  • Adding Timer utility class
  • Adding destroyOnFinish flag for AnimationComponent
  • Fixing release mode on examples that needed screen size
  • Bumping dependencies versions (audioplayers and path_provider)

0.13.0 #

  • Downgrading flame support to stable channel.

0.12.2 #

  • Added more functionality to the Position class (thanks, @illiapoplawski)

0.12.1 #

  • Fixed PositionComponent#setByRect to comply with toRect (thanks, @illiapoplawski)

0.12.0 #

  • Updating flutter_svg and pubspec to support the latest flutter version (1.6.0)
  • Adding Flare Support
  • Fixing PositionComponent#toRect which was not considering the anchor property (thanks, @illiapoplawski)

[0.11.2] #

  • Fixed bug on animations with a single frame
  • Fixed warning on using specific version o flutter_svg on pubspec
  • ParallaxComponent is not abstract anymore, as it does not include any abstract method
  • Added some functionality to Position class

[0.11.1] #

  • Fixed lack of paint update when using AnimationAsWidget as pointed in #78
  • Added travis (thanks, @renancarujo)

[0.11.0] #

  • Implementing low latency api from audioplayers (breaking change)
  • Improved examples by adding some instructions on how to run
  • Add notice on readme about the channel
  • Upgrade path_provider to fix conflicts

[0.10.4] #

  • Fix breaking change on svg plugin

[0.10.3] #

  • Svg support
  • Adding Animation#reversed allowing a new reversed animation to be created from an existing animation.
  • Fix games inside regular apps when the component is inside a sliver
  • Support Aseprite animations

[0.10.2] #

  • Fixed some warnings and formatting

[0.10.1] #

  • Fixes some typos
  • Improved docs
  • Extracted gamepads to a new lib, lots of improvements there (thanks, @erickzanardo)
  • Added more examples and an article

[0.10.0] #

  • Fixing a few minor bugs, typos, improving docs
  • Adding the Palette concept: easy access to white and black colors/paints, create your palette to keep your game organized.
  • Adding the Anchor concept: specify where thins should anchor, added to PositionComponent and to the new text related features.
  • Added a whole bunch of text related components: TextConfig allows you to easily define your typography information, TextComponent allows for easy rendering of stuff and TextBox can make sized texts and also typing effects.
  • Improved Utils to have better and more concise APIs, removed unused stuff.
  • Adding TiledComponent to integrate with tiled

[0.9.5] #

  • Add elapsed property to Animation (thanks, @ianliu)
  • Fixed minor typo on documentation

[0.9.4] #

  • Bumps audioplayers version

[0.9.3] #

  • Fixes issue when switching between games where new game would not attach

[0.9.2] #

  • Fixes to work with Dart 2.1

[0.9.1] #

  • Updated audioplayers and box2d to fix bugs

[0.9.0] #

  • Several API changes, using new audioplayers 0.6.x

[0.8.4] #

  • Added more consistent APIs and tests

[0.8.3] #

  • Need to review audioplayers 0.5.x

[0.8.2] #

  • Added better documentation, tutorials and examples
  • Minor tweaks in the API
  • New audioplayers version

[0.8.1] #

  • The Components Overhaul Update: This is major update, even though we are keeping things in alpha (version 0.*)
  • Several major upgrades regarding the component system, new component types, Sprites and SpriteSheets, better image caching, several improvements with structure, a BaseGame, a new Game as a widget, that allows you to embed inside apps and a stop method. More minor changes.

[0.6.1] #

  • Bump required dart version

[0.6.0] #

  • Adding audio support for iOS (bumping audioplayers version)

[0.5.0] #

  • Adding a text method to Util to more easily render a Paragraph

[0.4.0] #

  • Upgraded AudioPlayers, added method to disable logging
  • Created PositionComponent with some useful methods
  • A few refactorings

[0.3.0] #

  • Added a pre-load method for Audio module

[0.2.0] #

  • Added a loop method for playing audio on loop
  • Added the option to make rectangular SpriteComponents, not just squares

[0.1.0] #

  • First release, basic utilities
2041
likes
0
pub points
98%
popularity

Publisher

verified publisherflame-engine.org

A minimalist Flutter game engine, provides a nice set of somewhat independent modules you can choose from.

Repository (GitHub)
View/report issues

Funding

Consider supporting this project:

patreon.com
www.buymeacoffee.com

License

unknown (license)

Dependencies

collection, flutter, meta, ordered_set, vector_math

More

Packages that depend on flame