QT案例 飛機大戰(四)

2021-10-06 20:43:20 字數 1579 閱讀 7102

步驟如下:

建立heroplane類以及生成對應的檔案

和建立地圖的步驟一樣,這裡就不在詳細截圖了

建立好後生成heroplane.h 和 heroplane.cpp兩個檔案

在heroplane.h中新增**

class

heroplane

;

這裡飛機有個發射子彈的成員函式,由於我們還沒有做子彈

因此這個成員函式先寫成空實現即可

在config.h中追加飛機配置引數

/**********  飛機配置資料 **********/

#define hero_path ":/res/hero2.png"

heroplane.cpp中實現成員函式**:

#include

"heroplane.h"

#include

"config.h"

heroplane::

heroplane()

void heroplane::

setposition

(int x,

int y)

void heroplane::

shoot()

在mainscene.h中追加新的成員屬性

//飛機物件

heroplane m_hero;

在mainscene.cpp的paintevent中追加**

//繪製英雄

painter.

drawpixmap

(m_hero.m_x,m_hero.m_y,m_hero.m_plane)

;

測試飛機顯示到螢幕中

在mainscene.h中新增滑鼠移動事件

//滑鼠移動事件

void

mousemoveevent

(qmouseevent *event)

;

重寫滑鼠移動事件

void mainscene::

mousemoveevent

(qmouseevent *event)

if(x >= game_width - m_hero.m_rect.

width()

)if(y <=0)

if(y >= game_height - m_hero.m_rect.

height()

) m_hero.

setposition

(x,y)

;}

測試飛機可以拖拽

基於QT實現的飛機大戰遊戲

一 課程設計內容與目標 通過類的繼承等來實現乙個飛機小遊戲,首先實現控制台版的飛機遊戲,然後修改與顯示相關的部分 完成從控制台到圖形介面的遷移過程。飛機遊戲中要實現以下幾個基本要素 玩家飛機發射子彈攻擊敵機 敵機可以發射子彈攻擊玩家 玩家飛機可以自由移動,敵機可以定向移動 玩家飛機與敵機只有在真正邊...

QT飛機大戰三 子彈類

前文鏈結如下所示 qt飛機大戰一 遊戲場景配置 qt飛機大戰二 飛機類 從飛機的位置射出來 那麼子彈這個類肯定有自己的位置座標 肯定有自己的資源 既然子彈需要 射 出去,也需要發射的速率,也就是更新一次幾畫素 然後子彈需要有乙個布林變數 閒置狀態 設想一下,假如需要乙個子彈就new newne w乙...

飛機大戰 3

今天主要是敵方飛機的建立,下落 前面已建飛機的父類call 2 敵方飛機 function enemyplane hp,x,y,sizex,sizey,score,dietime,sudu,bombplane,srcimage 敵方的飛機型別分為大中小,要隨機下落 飛機的隨機下落,大中小飛機出現頻率...