Как загрузить сетевой образ в Flame?

В документации Flame класс Image просто загружается из папки активов.

bgSprite = Sprite('avatar/avatar-sample.png');

Как я могу загрузить сетевые изображения в Flame.

Опубликуйте кусок своего кода

dm_tr 23.12.2020 04:50

Какова цель доступа к сетевому образу в пламени? Разве это не игровой движок?

Sulav Parajuli 23.12.2020 04:59

Что, если я хочу показать аватар пользователя в виде спрайта? Каждый спрайт не происходит из папки с ресурсами. В какой-то момент нам нужно получить изображение из сети.

Aung Ko Man 24.12.2020 05:46
Применение градиента к изображению с помощью CSS
Применение градиента к изображению с помощью CSS
Здравствуйте, братья и сестры, как дела? Недавно я застрял на применении градиента к изображению. Я применял это много раз, но иногда наши требования...
Получение URL-адреса изображения курса в Moodle с помощью PHP
Получение URL-адреса изображения курса в Moodle с помощью PHP
Moodle - это популярная система управления обучением с открытым исходным кодом, используемая многими учебными заведениями и организациями по всему...
1
3
1 030
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать что-то подобное в версиях после 1.0.0:

import dart:ui; // This is the package you want the Image class from, there are several

Future<Image> getImage(String path) async {
  Completer<ImageInfo> completer = Completer();
  var img = new NetworkImage(path);
  img.resolve(ImageConfiguration()).addListener(ImageStreamListener((ImageInfo info,bool _){
    completer.complete(info);
  }));
  ImageInfo imageInfo = await completer.future;
  return imageInfo.image;
}

а затем в вашем методе onLoad просто запустите bgSprite:

@override
Future<void> onLoad() async {
  final image = await getImage("your-url.com/sample.png");
  bgSprite = Sprite(image);
}

В 0.28.0, который, похоже, вы используете, вы просто замените последнюю строку на (но я действительно рекомендую обновиться до версии после 1.0.0):

bgSprite = Sprite.fromImage(image);

Другие вопросы по теме