diff --git a/CHANGELOG.md b/CHANGELOG.md index e8b0cc269..66282eb55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,8 @@ ## [next] - Fixing BaseGame tap detectors issues - - Adding FlameSpriteWidget - - Adding FlameAnimationWidget + - Adding SpriteWidget + - Adding AnimationWidget - Upgrade Flutter SVG to fix for flame web - Add linting to all the examples diff --git a/doc/animation_widget_article/article.md b/doc/animation_widget_article/article.md index e31e805d0..a0a7d0899 100644 --- a/doc/animation_widget_article/article.md +++ b/doc/animation_widget_article/article.md @@ -4,7 +4,7 @@ As for Flame 0.22.0 there is a new way to use Animations and Sprites inside your widget tree. -Flame now includes a widget catalog and inside it you will find `FlameAnimationWidget` and `FlameSpriteWidget`. +Flame now includes a widget catalog and inside it you will find `AnimationWidget` and `SpriteWidget`. Check the example mentioned on this article to see the updated version. diff --git a/doc/examples/animation_widget/lib/main.dart b/doc/examples/animation_widget/lib/main.dart index d8483fd11..fc856c3d0 100644 --- a/doc/examples/animation_widget/lib/main.dart +++ b/doc/examples/animation_widget/lib/main.dart @@ -5,8 +5,8 @@ import 'package:flame/animation.dart' as animation; import 'package:flame/sprite.dart'; import 'package:flame/spritesheet.dart'; import 'package:flame/position.dart'; -import 'package:flame/widgets/flame_animation_widget.dart'; -import 'package:flame/widgets/flame_sprite_widget.dart'; +import 'package:flame/widgets/animation_widget.dart'; +import 'package:flame/widgets/sprite_widget.dart'; import 'package:flutter/material.dart'; Sprite _sprite; @@ -91,7 +91,7 @@ class _MyHomePageState extends State { Container( width: 200, height: 200, - child: FlameAnimationWidget(animation: _animation), + child: AnimationWidget(animation: _animation), ), const Text('Neat, hum?'), const Text( @@ -99,7 +99,7 @@ class _MyHomePageState extends State { Container( width: 200, height: 200, - child: FlameSpriteWidget(sprite: _sprite), + child: SpriteWidget(sprite: _sprite), ), const Text('Sprites from Elthen\'s amazing work on itch.io:'), const Text('https://elthen.itch.io/2d-pixel-art-minotaur-sprites'), diff --git a/doc/examples/widgets/lib/main.dart b/doc/examples/widgets/lib/main.dart index 5e6e69aa1..908ed942b 100644 --- a/doc/examples/widgets/lib/main.dart +++ b/doc/examples/widgets/lib/main.dart @@ -6,8 +6,8 @@ import 'package:dashbook/dashbook.dart'; import 'package:flame/widgets/nine_tile_box.dart'; import 'package:flame/widgets/sprite_button.dart'; -import 'package:flame/widgets/flame_sprite_widget.dart'; -import 'package:flame/widgets/flame_animation_widget.dart'; +import 'package:flame/widgets/sprite_widget.dart'; +import 'package:flame/widgets/animation_widget.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); @@ -64,13 +64,13 @@ void main() async { ); final shieldSprite = await Sprite.loadSprite('shield.png'); - dashbook.storiesOf('FlameSpriteWidget').decorator(CenterDecorator()).add( + dashbook.storiesOf('SpriteWidget').decorator(CenterDecorator()).add( 'default', (ctx) => Container( width: ctx.numberProperty('container width', 400), height: ctx.numberProperty('container height', 200), padding: const EdgeInsets.all(20), - child: FlameSpriteWidget( + child: SpriteWidget( sprite: shieldSprite, center: ctx.boolProperty('center', true), ), @@ -91,13 +91,13 @@ void main() async { to: 3, loop: true, ); - dashbook.storiesOf('FlameAnimationWidget').decorator(CenterDecorator()).add( + dashbook.storiesOf('AnimationWidget').decorator(CenterDecorator()).add( 'default', (ctx) => Container( width: ctx.numberProperty('container width', 400), height: ctx.numberProperty('container height', 200), padding: const EdgeInsets.all(20), - child: FlameAnimationWidget( + child: AnimationWidget( animation: _animation, play: ctx.boolProperty('playing', true), center: ctx.boolProperty('center', true), diff --git a/doc/widgets.md b/doc/widgets.md index c369579c4..0357260a4 100644 --- a/doc/widgets.md +++ b/doc/widgets.md @@ -48,28 +48,28 @@ SpriteButton( ) ``` -## FlameSpriteWidget +## SpriteWidget -`FlameSpriteWidget` is a widget used to display [Sprites](https://github.com/flame-engine/flame/blob/master/lib/sprite.dart) inside a widget tree. +`SpriteWidget` is a widget used to display [Sprites](https://github.com/flame-engine/flame/blob/master/lib/sprite.dart) inside a widget tree. How to use it: ```dart -FlameSpriteWidget( +SpriteWidget( sprite: shieldSprite, center: true, ), ``` -## FlameAnimationWidget +## AnimationWidget -`FlameAnimationWidget` is a widget used to display [Animations](https://github.com/flame-engine/flame/blob/master/lib/animation.dart) inside a widget tree. +`AnimationWidget` is a widget used to display [Animations](https://github.com/flame-engine/flame/blob/master/lib/animation.dart) inside a widget tree. How to use it: ```dart -FlameAnimationWidget( +AnimationWidget( animation: _animation, play: true, center: true, diff --git a/lib/util.dart b/lib/util.dart index f202f4667..2cb766270 100644 --- a/lib/util.dart +++ b/lib/util.dart @@ -155,7 +155,7 @@ class Util { /// You can use this implementation as base to easily create your own widgets based on more complex games. /// This is intended to be used by non-game apps that want to add a sprite sheet animation. /// - @Deprecated('Use FlameSpriteAnimation instead') + @Deprecated('Use SpriteAnimation instead') widgets.Widget animationAsWidget(Position size, Animation animation) { return EmbeddedGameWidget( BaseGame()..add(AnimationComponent(size.x, size.y, animation)), @@ -168,7 +168,7 @@ class Util { /// This will create a [CustomPaint] widget using a [CustomPainter] for rendering the [Sprite] /// Be aware that the Sprite must have been loaded, otherwise it can't be rendered /// - @Deprecated('Use FlameSpriteWidget instead') + @Deprecated('Use SpriteWidget instead') widgets.CustomPaint spriteAsWidget(Size size, Sprite sprite) => widgets.CustomPaint(size: size, painter: _SpriteCustomPainter(sprite)); } diff --git a/lib/widgets/flame_animation_widget.dart b/lib/widgets/animation_widget.dart similarity index 86% rename from lib/widgets/flame_animation_widget.dart rename to lib/widgets/animation_widget.dart index f2334eff7..8e099345b 100644 --- a/lib/widgets/flame_animation_widget.dart +++ b/lib/widgets/animation_widget.dart @@ -1,26 +1,26 @@ import 'package:flutter/material.dart' hide Animation; import 'package:flame/animation.dart'; -import './flame_sprite_widget.dart'; +import './sprite_widget.dart'; import 'dart:math'; -class FlameAnimationWidget extends StatefulWidget { +class AnimationWidget extends StatefulWidget { final Animation animation; final bool center; final bool play; - FlameAnimationWidget({ + AnimationWidget({ this.animation, this.play = true, this.center = false, }) : assert(animation.loaded(), 'Animation must be loaded'); @override - State createState() => _FlameAnimationWidget(); + State createState() => _AnimationWidget(); } -class _FlameAnimationWidget extends State +class _AnimationWidget extends State with SingleTickerProviderStateMixin { AnimationController _controller; double _lastUpdated; @@ -82,7 +82,7 @@ class _FlameAnimationWidget extends State @override Widget build(ctx) { - return FlameSpriteWidget( + return SpriteWidget( sprite: widget.animation.getSprite(), center: widget.center); } } diff --git a/lib/widgets/flame_sprite_widget.dart b/lib/widgets/sprite_widget.dart similarity index 94% rename from lib/widgets/flame_sprite_widget.dart rename to lib/widgets/sprite_widget.dart index 41e359ae5..e2866baea 100644 --- a/lib/widgets/flame_sprite_widget.dart +++ b/lib/widgets/sprite_widget.dart @@ -4,11 +4,11 @@ import '../sprite.dart'; import 'dart:math'; -class FlameSpriteWidget extends StatelessWidget { +class SpriteWidget extends StatelessWidget { final Sprite sprite; final bool center; - FlameSpriteWidget({ + SpriteWidget({ @required this.sprite, this.center = false, }) : assert(sprite.loaded(), 'Sprite must be loaded');