Шаблоны Flutter

Создание многоплатформенной игры с использованием Flutter и Back4app

11min

Введение

Flutter — это универсальный фреймворк с открытым исходным кодом от Google, который позволяет разработчикам создавать нативно скомпилированные приложения для мобильных устройств, веба, настольных ПК и встроенных устройств из единой кодовой базы. Хотя Flutter в первую очередь известен традиционной разработкой приложений, он все чаще используется для разработки игр благодаря своей производительности, обширной экосистеме пакетов и функции горячей перезагрузки.

В этом руководстве мы пройдем через процесс разработки многоплатформенной игры в стиле Flappy Bird с использованием Flutter и Flame, игрового движка, предназначенного для 2D-игр на Flutter. Кроме того, мы подключим игру к Back4App, платформе бэкенда как услуги (BaaS), чтобы хранить пользовательские очки и отображать таблицу лидеров.

К концу этого руководства у вас будет рабочая версия игры, которая будет работать на мобильных и веб-платформах, и она будет хранить и извлекать высокие очки из Back4App.

Предварительные требования

Чтобы завершить этот учебник, вам потребуется:

  • Аккаунт Back4app. Зарегистрируйтесь для получения бесплатного аккаунта на Back4app.com.
  • Среда разработки Flutter настроена на вашем локальном компьютере. Следуйте руководству по установке Flutter если вы еще не настроили её.
  • Базовые знания Dart, виджетов Flutter и концепций разработки игр.

Шаг 1 – Настройка вашего бэкенда Back4app

  1. Создайте проект Back4app: Войдите в свою учетную запись Back4app и создайте новый проект.
  2. Создайте классы Parse: Для этого учебника мы настроим простой бэкенд для управления данными, связанными с играми. В вашем проекте Back4app создайте два класса Parse с именами Player и GameScore:
    • Player: Хранит информацию о игроке, такую как имя пользователя, уровень и достижения.
    • GameScore: Хранит очки и рейтинги для игры.
  3. Получите свои учетные данные Back4app: Перейдите в настройки вашего проекта, чтобы получить ваш идентификатор приложения и ключ клиента, которые вам понадобятся для подключения вашей игры Flutter к Back4app.

Шаг 2 – Настройка вашего проекта Flutter

  1. Создайте новый проект Flutter: Откройте терминал или командную строку и выполните:
  2. Добавьте зависимости: Откройте pubspec.yaml и добавьте следующие зависимости:
  3. Инициализируйте Parse в вашем приложении: В lib/main.dart, импортируйте SDK Parse и инициализируйте его в функции main:
Dart


Замените 'YOUR_BACK4APP_APP_ID' и 'YOUR_BACK4APP_CLIENT_KEY' на ваши фактические учетные данные Back4app.

Шаг 3 – Настройка игры с использованием Flame

  1. Создайте класс игры: Flame — это игровой движок с открытым исходным кодом, построенный на основе Flutter. Он предоставляет инструменты и API для создания 2D-игр. Создайте простой класс игры с использованием Flame:
Dart


2. Создайте экран игры: Обновите GameScreen виджет, чтобы отобразить игру:

Dart


3. Запустите игру: Теперь вы можете запустить ваше приложение, используя flutter run чтобы увидеть вашу простую игру в действии. Вы должны увидеть синий квадрат, представляющий игрока.

Шаг 4 – Управление данными игры с помощью Back4app

  1. Сохранение данных игрока: Далее давайте создадим функцию для сохранения данных игрока в Back4app, когда игрок повышает уровень или достигает чего-то:
Dart


2. Получение высоких результатов: Вы также можете получить высокие результаты вашей игры из Back4app, чтобы отобразить их на таблице лидеров:

Dart


3. Отобразить таблицу лидеров: Используйте ListView.builder в виджете Flutter для отображения 10 лучших результатов:

Dart


Шаг 5 – Добавление расширенных функций с Flame

Если вы хотите добавить более сложные игровые механики, анимации или взаимодействия, вы можете расширить использование Flame, введя дополнительные компоненты, такие как спрайты, физика и обнаружение столкновений. Flame также поддерживает интеграцию с Firebase, что позволяет добавлять многопользовательские функции, покупки внутри приложения и многое другое.

Заключение

В этом учебном пособии вы узнали, как использовать Flutter и Flame для создания простой многоплатформенной игры и как интегрировать Back4app для управления игровыми данными, такими как профили игроков и высокие результаты. Возможность Flutter развертываться на нескольких платформах из одного кода, в сочетании с надежными бэкенд-сервисами Back4app, делает этот стек мощным для разработки и масштабирования игр.

Создавая простую казуальную игру или более сложный интерактивный опыт, Flutter и Back4app предоставляют инструменты для эффективной разработки, развертывания и управления вашей игрой.

Для получения дополнительной информации ознакомьтесь с документацией Flutter и документацией Back4app. Удачного кодирования!