Flame Engine/flame: Release v1.7.0
1.7.0
Note: This release has breaking changes.
- REFACTOR: Remove "items" variable from core Broadphase class. (#2284). (1819c575)
- REFACTOR: Added ComponentTreeRoot (#2300). (619b9b15)
- REFACTOR: Simplify how images.dart decodes images (#2293). (b4925423)
- REFACTOR: Use variable name on toString in component_test.dart (#2377). (f5c0e5e9)
- REFACTOR: Remove unused variable "tapTimes" from multi_touch_tap_detector_test.dart (#2379). (cd2b2a10)
- REFACTOR: Component rebalancing is now performed via a global queue (#2352). (1ef51879)
- REFACTOR: Component adoption now handled via ComponentTreeRoot (#2332). (5ceb5dda)
- FIX: Auto-resize
SpriteComponent
on sprite change (#2430). (158460d7) - FIX: Update MoveAlongPathEffect (#2422). (295cd724)
- FIX: Removed component to be deleted from _broadphaseCheckCache (#2282). (236a74ce)
- FIX: TextBoxComponent rendering for new line (#2413). (9008998e)
- FIX: Buttons in ButtonComponents should not be final (#2410). (55f66add)
- FIX: Set size of viewports in
onLoad
(#2452). (d1ac01f5) - FIX: Incorrect JoystickComponent position in landscape mode #2387 (#2389). (f125593a)
- FIX: RouterComponent replace methods to correctly handle previous/nextRoute (#2296). (2b1f2266)
- FIX: Use the hitboxParent instead of the parent in the componentTypeCheck (#2335). (7920e2ba)
- FIX: Materialize list in
Component.removeWhere
(#2458). (13cce4ae) - FIX: TextBoxComponent's boxConfig timePerChar generates "Optimized Out" error #2143 (#2328). (5874f600)
- FIX: Camera no longer "sticks" to boundary with BoundedPositionBehavior (#2307). (914dc6a7)
- FEAT: Add reusable vector to the Vector2 extension (#2429). (03d45df5)
- FEAT: Change
HasCollisionDetection
to be onComponent
(#2404). (637c258b) - FEAT: Added AlignComponent layout component (#2350). (4f5e56f0)
- FEAT: Add
autoResize
forSpriteAnimationComponent
andSpriteAnimationGroupComponent
(#2453). (dbeba238) - FEAT: Adding ImageExtension.resize (#2418). (a3f1601d)
- FEAT: Add position and anchor params for Sprite and SpriteAnimation Particles (#2370). (181e0b59)
- FEAT: Add
autoResize
forSpriteGroupComponent
(#2442). (1576bd83) - FEAT: Introduce flame_noise, deprecate NoiseEffectController (#2393). (b2fdf06a)
- FEAT: Added HardwareKeyboardDetector (#2257). (95b1fc0f)
- FEAT: Allow people to opt-out on repaint boundary (#2341). (b6aeec24)
- FEAT: Add
HasTimeScale
mixin (#2431). (d2a8fe01) - FEAT: Add DoubleTapCallbacks that receives double-tap events. (#2327). (b5f79d1c)
- FEAT: Add ability to opt-out flip (#2316). (34c3b6bd)
- FEAT: Make
limit
field mutable in theTimer
class (#2358). (4e0a8c46) - DOCS: Rename caveace asset to cave_ace in our examples (#2304). (e2399f91)
- DOCS: Update cspell github action and configuration (#2325). (e0a4c07f)
- DOCS: Fix actual typos that made into our dictionary (#2305). (343b8452)
- DOCS: Add Flame logo for pub.dev (#2338). (65091f34)
- DOCS: Refactor documentation for GameWidget (#2344). (655824fc)
- DOCS: Update funding links (#2420). (8294a2a1)
- DOCS: Fix old doc code (#2322). (90321658)
- BREAKING REFACTOR: Use ComponentTreeRoot for component removal (#2317). (75446185)
- BREAKING FEAT: HasDraggableComponents mixin is no longer needed (#2312). (3faf1149)
- BREAKING FEAT: The
HasTappableComponents
mixin is no longer needed (#2450). (b5bdf4ec)
Migration instructions
If you have components that rely on receiving onGameResize calls before they load, then you can retrieve the game's size in onLoad manually via findGame()!.size.
The HasDraggableComponents mixin is now empty & deprecated. If your game used this mixin overriding its methods onDragStart, onDragUpdate, etc -- then they will no longer work. If you want to receive drag events at the top level of the game, then simply add a DragCallbacks component to the top level of the game.
The HasTappableComponents mixin is now empty & deprecated. If your game used this mixin overriding its methods onTapDown, onTapUp, etc -- then they will no longer work. If you want to receive tap events at the top level of the game, then simply add a TapCallbacks component to the top level of the game.