Qt高分制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt高分制相关的知识,希望对你有一定的参考价值。
我还是Qt的新手,我想为我的游戏增加一个高分系统。我发现这个文件http://grip.espace-win.net/doc/apps/qt4/html/demos-declarative-snake-content-highscoremodel-qml.html这是一个高分模型qml元素。我已将它添加到我的项目中,但我完全失去了如何实现它。我只是想知道当我的窗口进入某个状态时如何使用它来显示高分表。我还想知道如何添加分数并在游戏重启时关闭它。这看起来很傻但我真的无法弄清楚如何使用它。
从上面的链接文件:
像这样使用这个组件:
HighScoreModel { id: highScores game: "MyCoolGame" }
然后......在视图中使用模型:
ListView { model: highScores delegate: Component { ... player ... score ... } }
因此,通过稍微改变QML ListView
docs中给出的两个示例的简单性,我们得到:
import QtQuick 1.0
ListView {
width: 180; height: 200
model: highScores {}
delegate: Text {
text: player + ": " + score
}
}
虽然如果您想进一步控制列表中每个元素的格式,如上面HighScoreModel.qml引用的示例中使用delegate: Component
所示,文档中的第二个用法示例将向您展示如何。
您还可以查看基于qt的应用和游戏的V-Play引擎。它配备了许多组件,使移动开发更容易。
您还可以使用几行代码将排行榜和用户配置文件添加到您的应用程序:
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
}
}
以上是关于Qt高分制的主要内容,如果未能解决你的问题,请参考以下文章
26.Qt Quick QML-RotationAnimationPathAnimationSmoothedAnimationBehaviorPauseAnimationSequential(代码片段
高分求qt写的线程程序,功能每隔一百毫秒查询数据,这个线程在整个程序运行中都一直在运行
Qt捕获不到这个异常(linux操作系统) try char *str=NULL; strcpy(str,"error"); //制