flamemodify 1.1.4 copy "flamemodify: ^1.1.4" to clipboard
flamemodify: ^1.1.4 copied to clipboard

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

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 behaviour 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 animatons 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 asesprite 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 releated 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 suport 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
3
likes
120
pub points
49%
popularity

Publisher

unverified uploader

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

Repository (GitLab)
View/report issues
Contributing

Documentation

API reference

License

MIT (LICENSE)

Dependencies

collection, flutter, meta, ordered_set, path_provider, vector_math

More

Packages that depend on flamemodify