接上篇《qml自学笔记------自己写类似于劲舞团的按键小游戏(中)》
第四部分 PauseButton.qml 和 RestartButton.qml
第四部分其实就是两个按键,一个是暂停,一个是重新开始。
暂停按键按下时就将Timer定时器的running属性设成false,将按键上的text属性设成“开始”,就这么两件事。但是,由于点击重新开始时暂停按键也需要有所改变,换而言之即其他对象要改变这个按键的属性,因此给按键添加了两个属性stat和pauseText,stat用于开始/暂停的标志,pauseText用来改变Text的text属性,方便外部访问。
import QtQuick 1.1 Rectangle { id: m_pauseButton property bool stat: false property string pauseText: "开始" width: 120 height: 40 color: "lightgreen" radius: 5 border.color: "yellow" border.width: 5 Text { text: pauseText color: "black" font.pointSize: 18 anchors.centerIn: parent } MouseArea { anchors.fill: parent onClicked:{ if(stat) { displayPart.timerRunning = false; pauseText = "开始"; stat = false; }else{ pauseText = "暂停"; displayPart.timerRunning = true; stat = true; } } } }重新开始按键按下后需要做的事情有:将Timer的running属性设成false;将主画面中的“当前得分”和“当前滑过”全部置零;将暂停/开始按键的stat属性置false,pauseText设成“开始”,因为正在run的时候也可以点击重新开始,这时暂停按键stat的值是true,pauseText值是“暂停”,必须改变它才能开始游戏。
import QtQuick 1.1 Rectangle { id: m_restartButton width: 120 height: 40 color: "lightgreen" radius: 5 border.color: "yellow" border.width: 5 Text { id: restarttext text: "重新开始" color: "black" font.pointSize: 18 anchors.centerIn: parent } MouseArea { anchors.fill: parent onClicked:{ displayPart.timerRunning = false; mainWindow.currentNum = 0; mainWindow.currentScore = 0; pauseButton.pauseText = "开始"; pauseButton.stat = false; } } }到此,整个小游戏的所有代码都贴出来了,代码很粗糙,游戏更加粗糙,玩几把就会发现有个小BUG,只要你手指头够快,一张图片你可以得很多分,就是当一张图片滑过DisplayPart区域的粉红色竖线的时间内,你能按出几下你就能得几分,这就得看手速了。还有其实还可以把图片美化一下,得分了还可以给出个漂亮的Perfect来,还可以将背景弄得更炫一点,按键按下不仅仅就变红而已,可以加一些特效。。。。 等等着一些,说着简单,做起来肯定超级花时间,毕竟那些做游戏的公司应该有不少专业的美工来干这个。
整个小游戏的代码量真的很少,11个文件,最长的才一百多行,大部分都是四五十行,所以说qml这家伙真的很强大,功能超级多,后面看到一些动画制作,3D效果制作等,真的发现这家伙很好用很好玩!不过好像用的人不多,很多人都不知道这门语言,我也不知道这门语言的前景和发展方向,如有网友大神是做这方向的或者了解的,多指点指点,多谢!
版权声明:本文为博主原创文章,未经博主允许不得转载。
qml自学笔记------自己写类似于劲舞团的按键小游戏(下)
原文地址:http://blog.csdn.net/csdn_logo/article/details/47042447