我正在从火焰 v0.29.4 迁移到火焰 v1.0.0-rc8,但我找不到关于如何获取initialDimensions
、如何通过 获取引擎小部件engine.widget
、如何初始化Sprite
对象(以前通过Sprite('path_to_asset_file')
)和如何设置SpriteComponent
(以前通过SpriteComponent.rectangle
)的宽度和高度。
问问题
405 次
1 回答
4
这是几个问题,所以我将给出几个答案:
- 如何获得
inititialDimensions
?
inititialDimensions
不再需要,onGameResize
之前调用onLoad
它会给你游戏的大小。您还可以通过将HasGameRef
mixin 添加到您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 回答