Adding docs

This commit is contained in:
Erick Zanardo
2020-01-21 21:02:58 -03:00
parent 8cf0e116cc
commit 668444a01d
3 changed files with 30 additions and 1 deletions

View File

@ -54,6 +54,7 @@ And start using it!
* Other Modules * Other Modules
- [Util](util.md) - [Util](util.md)
- [Gamepad](gamepad.md) - [Gamepad](gamepad.md)
- [Widgets](widgets.md)
- [Box2D](box2d.md) - [Box2D](box2d.md)
- [Tiled](tiled.md) - [Tiled](tiled.md)
- [Debugging](debug.md) - [Debugging](debug.md)

28
doc/examples/widgets.md Normal file
View File

@ -0,0 +1,28 @@
# Widgets
One cool feature when developing games with Flutter is the ability to use Flutter's extensive toolset for building UIs, Flame tries to expand that introducing widgets which are specially made with games in mind.
Here you can find all the available widgets provided by Flame.
You can also see all the widgets showcased inside a Dashbook sandbox [here](/doc/examples/widgets)
## Nine Tile Box
A Nine Tile Box is a rectangle drawn using a grid sprite.
The grid sprite is a 3x3 grid and with 9 blocks, representing the 4 courners, the 4 sides and the middle.
The corners are drawn at the same size, the sides are streched on the side direction and the middle is expanded both ways.
The `NineTileBox` widget implements a Container using that standard. Here you can find an example of its usage:
```dart
import 'package:flame/widgets/nine_tile_box.dart';
NineTileBox(
image: image, // dart:ui image instance
tileSize: 16, // The width/height of the tile on your grid image
destTileSize: 50, // The dimensions to be used when drawing the tile on the canvas
child: SomeWidget(), // Any Flutter widget
)
```

View File

@ -10,7 +10,7 @@ void main() async {
final nineTileBoxImage = await Flame.images.load('nine_tile_box.png'); final nineTileBoxImage = await Flame.images.load('nine_tile_box.png');
final dashbook = Dashbook(); final dashbook = Dashbook();
dashbook.storiesOf('SpritesheetContainer').decorator(CenterDecorator()).add( dashbook.storiesOf('NineTileBox').decorator(CenterDecorator()).add(
'default', 'default',
(ctx) => Container( (ctx) => Container(
width: ctx.numberProperty('width', 200), width: ctx.numberProperty('width', 200),