0

我想使用火焰在我的应用程序中制作一系列点。到目前为止,我知道自定义绘画,除了我在这里使用的是 SpriteComponent 之外,我只想用它来制作绘制点

这是我尝试过的:

*****主要的*******

var game;
const ComponentSize = 40.0;

void main() async {
  await Flame.util.fullScreen();
  await Flame.images.loadAll([
    'dotbg1.jpg',
    'dot-line1.png',
    'dot-ball.png',
  ]);
  runApp(MaterialApp(
      home: Scaffold(
          body: Container(
    decoration: new BoxDecoration(
      image: new DecorationImage(
        image: new AssetImage("assets/dotbg1.jpg"),
        fit: BoxFit.cover,
      ),
    ),
    child: (MyGame().widget),
  ))));
}

class MyGame extends BaseGame {
  @override
  void render(Canvas canvas) {}

  @override
  void update(double t) {}
}

*****dot.dart********

class Component extends SpriteComponent {
  Size dimensions;
  int position;
  int yposition;

  Component(this.dimensions,this.position, this.yposition) : super.square(ComponentSize, 'dot-ball.png');
}

当我运行时,我得到一个空白屏幕,我的控制台输出如下: 在此处输入图像描述

期望:下图是我需要画的 在此处输入图像描述

我在这里做错了什么?

4

2 回答 2

0

您不能直接将 aCustomPainter用作小部件。自定义画家旨在在CustomPaint小部件内部进行绘制。所以你的代码应该是这样的

CustomPaint(
  painter: ShapesPainter(),
)
于 2019-07-10T16:18:00.510 回答
0

火焰图像资产需要在文件夹中assets/images。此外 assets/images/ 必须在您的 pubspec、yaml 中。

于 2019-08-17T08:41:18.833 回答