flame 1.0.0-releasecandidate.14 flame: ^1.0.0-releasecandidate.14 copied to clipboard
A minimalist Flutter game engine, provides a nice set of somewhat independent modules you can choose from.
CHANGELOG #
[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
andBaseGame.removeAll
helpers for removing components - Add
BaseComponent.remove
andBaseComponent.removeAll
helpers for removing children - Rename
Camera.cameraSpeed
toCamera.speed
- Rename
addShape
toaddHitbox
inHitbox
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
issrcSize
instead of spritesheet size - Export test helper methods
- Rename
ScaleEffect
toSizeEffect
- Introduce
scale
onPositionComponent
- Add
ScaleEffect
that works onscale
instead ofsize
- Add class
NotifyingVector2
- Add class
Transform2D
- Added helper functions
testRandom()
andtestWidgetsRandom()
- Remove
FPSCounter
fromBaseGame
- Refactor
PositionComponent
to work withTransform2D
: the component now works more reliably when nested - Properties
renderFlipX
,renderFlipY
removed and replaced with methodsflipHorizontally()
andflipVertically()
. - 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 withGame
class - Fixed a bug with
worldBounds
being set tonull
inCamera
- Remove
.viewport
fromBaseGame
, usecamera.viewport
instead MockCanvas
is now strongly typed and matches numeric coordinates up to a tolerance- Add
loadAllImages
toImages
, which loads all images from the prefixed path - Reviewed the keyboard API with new mixins (
KeyboardHandler
andHasKeyboardHandlerComponents
) - 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 ononLoad
TextBoxComponent
can have customizablepixelRatio
- Add
ContainsAtLeastMockCanvas
to facilitate testing withMockCanvas
- Support for
drawImage
forMockCanvas
Game
is now aComponent
ComponentEffect
is now aComponent
HasGameRef
can now operate independently fromGame
initialDelay
andpeakDelay
for effects to handle time before and after an effectcomponent.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
aPositionComponent
- Extract shared logic when handling components set in BaseComponent and BaseGame to ComponentSet.
- Rename
camera.shake(amount: x)
tocamera.shake(duration: x)
- Fix
SpriteAnimationComponent
docs to useFuture.wait
- Add an empty
postRender
method that will run after each components render method - Rename
Tapable
toTappable
- Fix
SpriteAnimationComponent
docs to useFuture.wait
- Add an empty
postRender
method that will run after each components render method - Rename
HasTapableComponents
toHasTappableComponents
- Rename
prepareCanvas
topreRender
- Add
intensity
toCamera.shake
FixedResolutionViewport
to use matrix transformations forCanvas
[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 toVector2
- 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
whenzoom != 1
- Add
anchor
forShapeComponent
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 transformationsCamera
zooming is taking currentrelativeOffset
into account- Fix gestures for when
isHud = true
andCamera
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 theposition
is now alate
- 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
andposition
inPositionComponent
final - Add a
snapTo
andonPositionUpdate
method to theCamera
- 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 theCamera
- Make
gameRef
late - Fix Scroll example
- Add a
renderPoint
method toCanvas
- Add zoom to the camera
- Add
moveToTarget
as an extension method toVector2
- 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
) fromutil.dart
todevice.dart
- Moving render functions from
util.dart
toextensions/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
toImageComposition
to prevent confusion with the composition component - Added
rotation
andanchor
arguments toImageComposition.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
useComponent.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 theSprite
class - Uniform use of
dt
instead oft
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 inJoystickAction.update
calculations - Changed
parseAnchor
inexamples/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 ofglobstar
pattern inscripts/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 withParticle
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 whereprogress
was not reported correctly - Refactored the
SpriteBatch
class to be more elegant and to supportVector2
. - 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 theGame
class - Updated the
widgets.md
documentation - Removing methods
initialDimensions
andremoveGestureRecognizer
to avoid confusion - Adding standard for
SpriteComponent
andSpriteAnimationComponent
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 onGameWidget
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 toonGameResize
- Make
Resizable
have agameSize
property instead ofsize
- 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 toTextConfig
- 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
andrender
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