Files
flame/doc/examples/tiled/lib/main.dart
2020-05-20 17:41:47 +02:00

42 lines
1.2 KiB
Dart

import 'package:flame/animation.dart';
import 'package:flame/components/animation_component.dart';
import 'package:flame/components/tiled_component.dart';
import 'package:flame/flame.dart';
import 'package:flame/game.dart';
import 'package:flutter/widgets.dart' hide Animation;
import 'package:tiled/tiled.dart' show ObjectGroup, TmxObject;
void main() {
WidgetsFlutterBinding.ensureInitialized();
Flame.images.load('coins.png');
final TiledGame game = TiledGame();
runApp(game.widget);
}
class TiledGame extends BaseGame {
TiledGame() {
final TiledComponent tiledMap = TiledComponent('map.tmx');
add(tiledMap);
_addCoinsInMap(tiledMap);
}
void _addCoinsInMap(TiledComponent tiledMap) async {
final ObjectGroup objGroup =
await tiledMap.getObjectGroupFromLayer("AnimatedCoins");
if (objGroup == null) {
return;
}
objGroup.tmxObjects.forEach((TmxObject obj) {
final comp = AnimationComponent(
20.0,
20.0,
Animation.sequenced('coins.png', 8,
textureWidth: 20, textureHeight: 20),
);
comp.x = obj.x.toDouble();
comp.y = obj.y.toDouble();
add(comp);
});
}
}