我正在从火焰 v0.29.4 迁移到火焰 v1.0.0-rc8,但我找不到关于如何获取initialDimensions、如何通过 获取引擎小部件engine.widget、如何初始化Sprite对象(以前通过Sprite('path_to_asset_file'))和如何设置SpriteComponent(以前通过SpriteComponent.rectangle)的宽度和高度。
1 回答
4
这是几个问题,所以我将给出几个答案:
- 如何获得
inititialDimensions?
inititialDimensions不再需要,onGameResize之前调用onLoad它会给你游戏的大小。您还可以通过将HasGameRefmixin 添加到您Component的 s 和 call来获取游戏的大小gameRef.size。
- 如何获得颤振小部件?
您现在将游戏包装在 a 中,GameWidget而不是使用.widget:
import 'package:flutter/material.dart';
import 'package:flame/game.dart';
void main() {
final myGame = MyGame();
runApp(
GameWidget(
game: myGame,
),
);
}
- 如何初始化一个
Sprite?
你通常想要一个SpriteComponent,而不是一个 raw Sprite。
创建一个Sprite:
class MyGame extends FlameGame {
Sprite player;
@override
Future<void> onLoad() async {
player = Sprite.load('player.png');
}
}
创建一个SpriteComponent:
class MyGame extends FlameGame {
SpriteComponent player;
@override
Future<void> onLoad() async {
final sprite = await loadSprite('player.png');
player = SpriteComponent(sprite: sprite);
// And you usually want to add your component to the game too.
add(player);
}
}
- 如何设置组件的大小?
只需执行component.size = Vector2(width, height);或component.width = width;+component.height = height
于 2021-03-31T21:40:16.627 回答