接上篇《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