QT实现打地鼠小游戏
生活随笔
收集整理的這篇文章主要介紹了
QT实现打地鼠小游戏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
看吳健吳老師的視頻做了一個打地鼠的小游戲,主要利用了qt中的2D顯示器QGraphicsView,
QGraphicsScence場景,以及圖元QgraphicsItem下的像素圖元QGraphicsPixmapItem。
關系為一個個圖元構成場景,場景顯示在顯示器中。
##效果如下(手機)
圖元類
圖元類主要設置每個圖元上的圖片是什么,該圖元的狀態(開始狀態和暫停、停止狀態),以及該圖元上是否有老鼠(通過一個bool類型的成員變量來決定);圖元類還需要設置置鼠標的狀態為一個錘子;圖元類還需要重寫父類的基類QGraphicsItem中的鼠標按壓事件和鼠標抬起事件。當鼠標按下時,如果在開始狀態下該圖元的mouse變量為true(有老鼠),則 說明打到了老鼠,此時利用獲取到的單例對象向mainwindow發送一個beat信號,更新lcdnumber上的分數。
場景類
場景類首先要進行背景的布局,將圖元添加進場景并且依次排列成4*4的矩陣。然后需要設置定時器讓游戲動起來。然后設置開始、暫停、停止三個按鈕的槽函數(主要是改變定時器的狀態)。
#單例
因為是否打到老鼠是在圖元上判斷的,而分數的顯示則在mainwindow里。所以設計了一個單例對象讓圖元和mainwindow都可以獲取到同一個對象。圖元類利用該對象發送beat信號,mainwindow則關聯beat信號和用來更新分數的槽函數。
#mainwindow
mainwindow主要將場景加入顯示器、并設置彈窗(重寫關閉事件的函數、和一局游戲結束后的彈窗)、以及背景音樂的播放。
#源碼地址
https://gitee.com/hou_yuan_hao/whacamole
總結
以上是生活随笔為你收集整理的QT实现打地鼠小游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打地鼠制作(三)
- 下一篇: VS2013附加包含目录,添加相对路径