Qt High Score System - PullRequest
       15

Qt High Score System

1 голос
/ 13 ноября 2011

Я все еще новичок в Qt и хочу добавить систему High Score в свою игру.Я нашел этот файл http://grip.espace -win.net / doc / apps / qt4 / html / demos-декларативный-snake-content-highscoremodel-qml.html , который является элементом qml модели с высокими показателями.Я добавил его в свой проект, но совершенно не уверен, как его реализовать.Я просто хочу знать, как я могу использовать его для отображения таблицы рекордов, когда мое окно переходит в определенное состояние.Я также хочу знать, как добавлять оценки и закрывать их после перезапуска игры.Это может показаться глупым, но я действительно не могу понять, как его использовать.

Ответы [ 2 ]

2 голосов
/ 13 ноября 2011

Из указанного выше связанного файла:

Используйте этот компонент следующим образом:

HighScoreModel {
  id: highScores
  game: "MyCoolGame"
}

Затем ... используйте модель в виде:

ListView {
  model: highScores
  delegate: Component {
    ... player ... score ...
  }
}

Таким образом, слегка изменив более простой из двух примеров, приведенных в QML ListView документах , мы получим:

import QtQuick 1.0

ListView {
  width: 180; height: 200
  model: highScores {}
  delegate: Text {
    text: player + ": " + score
  }
}

Хотя, если вы хотите получить дополнительный контроль надформатирование каждого элемента списка, как предлагается при использовании delegate: Component в приведенном выше примере из HighScoreModel.qml , во втором примере использования в документации показано, как.

0 голосов
/ 20 декабря 2017

Вы также можете взглянуть на V-Play Engine для приложений и игр на основе qt.Он поставляется со многими компонентами для упрощения разработки мобильных приложений.

Вы также можете добавить списки лидеров и профили пользователей в свое приложение с помощью нескольких строк кода:

import VPlay 2.0
import VPlayApps 1.0
import QtQuick 2.9

App {

 // app navigation
 Navigation {
   NavigationItem {
     title: "User Profile"
     icon: IconType.user
     NavigationStack {
       initialPage: socialView.profilePage
     }
   }

   NavigationItem {
     title: "Leaderboard"
     icon: IconType.flagcheckered
     NavigationStack {
       initialPage: socialView.leaderboardPage
     }
   }
 }

 // service configuration
 VPlayGameNetwork {
   id: gameNetwork
   gameId: 285
   secret: "AmazinglySecureGameSecret"

   // increase leaderboard score by 1 for each app start
   Component.onCompleted: gameNetwork.reportRelativeScore(1)
 }

 // social view setup
 SocialView {
   id: socialView
   gameNetworkItem: gameNetwork
   multiplayerItem: multiplayer
   visible: false // we show the view pages on our custom app navigation
 }
}

Дополнительную информацию см. Здесь:https://v -play.net / кросс-платформенные приложения-разработка / как к надстройку чат-сервис-и-кросс-платформенный-лидеров-с-пользовательскими профилями-к-вашей-КСН или-android-приложение # надстройка лидеры-с-пользователь профили

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...