Merge branch 'develop' into feature/add-joystick-component

This commit is contained in:
Erick
2020-06-29 16:26:51 -03:00
committed by GitHub
27 changed files with 500 additions and 20 deletions

View File

@ -65,6 +65,7 @@ class MyGame extends BaseGame with TapDetector {
isInfinite: false,
isAlternating: true,
offset: 0.5,
onComplete: () => print("onComplete callback"),
);
greenSquare.addEffect(combination);
}

49
doc/examples/layers/.gitignore vendored Normal file
View File

@ -0,0 +1,49 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
/build/
# Web related
lib/generated_plugin_registrant.dart
# Symbolication related
app.*.symbols
# Obfuscation related
app.*.map.json
# Exceptions to above rules.
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
android
ios
macos
web

View File

@ -0,0 +1,10 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.
version:
revision: 9d58a87066d1da98eb06826918e4b90cc76ae0ef
channel: master
project_type: app

View File

@ -0,0 +1,3 @@
# layers
Simple project to showcase the layer feature of Flame

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

View File

@ -0,0 +1,82 @@
import 'package:flutter/material.dart' hide Animation;
import 'package:flame/game.dart';
import 'package:flame/sprite.dart';
import 'package:flame/layer/layer.dart';
import 'package:flame/flame.dart';
import 'dart:ui';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Flame.util.fullScreen();
final playerSprite = await Sprite.loadSprite('player.png');
final enemySprite = await Sprite.loadSprite('enemy.png');
final backgroundSprite = await Sprite.loadSprite('background.png');
runApp(LayerGame(playerSprite, enemySprite, backgroundSprite).widget);
}
class GameLayer extends DynamicLayer {
final Sprite playerSprite;
final Sprite enemySprite;
GameLayer(this.playerSprite, this.enemySprite) {
preProcessors.add(ShadowProcessor());
}
@override
void drawLayer() {
playerSprite.renderRect(
canvas,
const Rect.fromLTWH(50, 50, 150, 150),
);
enemySprite.renderRect(
canvas,
const Rect.fromLTWH(250, 150, 100, 50),
);
}
}
class BackgroundLayer extends PreRenderedLayer {
final Sprite sprite;
BackgroundLayer(this.sprite) {
preProcessors.add(ShadowProcessor());
}
@override
void drawLayer() {
sprite.renderRect(
canvas,
const Rect.fromLTWH(50, 200, 300, 150),
);
}
}
class LayerGame extends Game {
Sprite playerSprite;
Sprite enemySprite;
Sprite backgroundSprite;
Layer gameLayer;
Layer backgroundLayer;
LayerGame(this.playerSprite, this.enemySprite, this.backgroundSprite) {
gameLayer = GameLayer(playerSprite, enemySprite);
backgroundLayer = BackgroundLayer(backgroundSprite);
}
@override
void update(double dt) {}
@override
void render(Canvas canvas) {
gameLayer.render(canvas);
backgroundLayer.render(canvas);
}
@override
Color backgroundColor() => const Color(0xFF38607C);
}

View File

@ -0,0 +1,28 @@
name: layers
description: Simple project to showcase the layer feature of Flame
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
flame:
path: ../../../
cupertino_icons: ^0.1.3
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- assets/images/background.png
- assets/images/enemy.png
- assets/images/player.png

File diff suppressed because one or more lines are too long

View File

@ -15,7 +15,7 @@ void main() {
class TiledGame extends BaseGame {
TiledGame() {
final TiledComponent tiledMap = TiledComponent('map.tmx');
final TiledComponent tiledMap = TiledComponent('map.tmx', 16.0);
add(tiledMap);
_addCoinsInMap(tiledMap);
}
@ -30,8 +30,12 @@ class TiledGame extends BaseGame {
final comp = AnimationComponent(
20.0,
20.0,
Animation.sequenced('coins.png', 8,
textureWidth: 20, textureHeight: 20),
Animation.sequenced(
'coins.png',
8,
textureWidth: 20,
textureHeight: 20,
),
);
comp.x = obj.x.toDouble();
comp.y = obj.y.toDouble();