日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

游戏角色坐标的保存间隔_使用C++编写飞机大战游戏【手把手教程】

發(fā)布時(shí)間:2024/1/23 c/c++ 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 游戏角色坐标的保存间隔_使用C++编写飞机大战游戏【手把手教程】 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

友情地提示本文較長(zhǎng),建議保存,慢慢學(xué)學(xué)。可以直接觀看視頻教程。

C++干大事系列之游戲篇:Qt飛機(jī)大戰(zhàn)?yun.itheima.com

1、項(xiàng)目簡(jiǎn)介

飛機(jī)大戰(zhàn)是我們大家所熟知的一款小游戲,本教程就是教大家如何制作一款自己的飛機(jī)大戰(zhàn)。

首先我們看一下效果圖

玩家控制一架小飛機(jī),然后自動(dòng)發(fā)射子彈,如果子彈打到了飛下來的敵機(jī),則射殺敵機(jī),并且有爆炸的特效。接下來再說明一下案例的需求,也就是我們需要實(shí)現(xiàn)的內(nèi)容。

·滾動(dòng)的背景地圖

·飛機(jī)的制作和控制

·子彈的制作和射擊

·敵機(jī)的制作

·碰撞檢測(cè)

·爆炸效果

·音效添加

2、創(chuàng)建項(xiàng)目

創(chuàng)建項(xiàng)目步驟如下:

·打開Qt

·跟著向?qū)?chuàng)建項(xiàng)目
基類選擇 QWidget空窗口

第一個(gè)場(chǎng)景為主場(chǎng)景 MainScene

不帶UI界面

2.1 打開Qt

找到你安裝的Qt Creator,打開它。

如果安裝時(shí),沒有選擇在桌面上建立快捷方式,那么你的Qt軟件位置如下

C:qtQt5.x.xToolsQtCreatorbin

在這個(gè)路徑下找到 qtcreator.exe 雙擊打開即可

2.2 按照向?qū)?chuàng)建項(xiàng)目

2.2.1 新建項(xiàng)目

點(diǎn)擊菜單 中的文件 -> 新建文件或項(xiàng)目 或者 在首頁面中點(diǎn)擊New Project

2.2.2 選擇模板

模板選擇 Application -> Qt Widget Application

2.2.3 項(xiàng)目名稱和位置

給項(xiàng)目起個(gè)名稱以及選中項(xiàng)目要保存的地方

這一步選擇后在Kits 構(gòu)建套件中直接點(diǎn)擊下一步即可

2.2.4 類信息

基類選擇 QWidget

類名也就是我們第一個(gè)窗口場(chǎng)景的名稱,這里我起名為 MainScene 代表游戲中的主場(chǎng)景

取消創(chuàng)建界面中的內(nèi)容

2.2.5 完成創(chuàng)建

在匯總頁面中點(diǎn)擊完成,我們就邁開了項(xiàng)目的第一步!

3、設(shè)置主場(chǎng)景

主場(chǎng)景設(shè)置的步驟如下:

·添加配置文件,保存游戲中所有配置數(shù)據(jù)

·初始化主場(chǎng)景窗口大小、標(biāo)題

3.1 配置文件添加

創(chuàng)建新的頭文件為 config.h 主要記錄程序中所有的配置數(shù)據(jù),方便后期修改

添加窗口寬度、高度的配置信息,依據(jù)背景圖大小進(jìn)行設(shè)置

/********** 游戲配置數(shù)據(jù) **********/ define GAME_WIDTH 512 //寬度 define GAME_HEIGHT 768 //高度 define GAME_TITLE "飛機(jī)大戰(zhàn) v1.0" //標(biāo)題

3.2 主場(chǎng)景基本設(shè)置

在mainScene.h中添加新的成員函數(shù)initScene 用來初始化游戲場(chǎng)景

void initScene(); 在mainScene.cpp中實(shí)現(xiàn)如下代碼 void MainScene::initScene() {//初始化窗口大小setFixedSize(GAMEWIDTH,GAMEHEIGHT);//設(shè)置窗口標(biāo)題setWindowTitle(GAME_TITLE); }

在構(gòu)造函數(shù)MainScene中調(diào)用該函數(shù) initScene

MainScene::MainScene(QWidget *parent): QWidget(parent) {//初始化場(chǎng)景initScene(); }

測(cè)試運(yùn)行效果如圖:

4、資源導(dǎo)入

在主場(chǎng)景中其實(shí)還有一個(gè)配置項(xiàng)沒有實(shí)現(xiàn),也就是窗口左上角的那個(gè)圖標(biāo)資源。那么接下來我們將游戲中的資源進(jìn)行導(dǎo)入并且設(shè)置游戲圖標(biāo)。

資源導(dǎo)入步驟

·生成qrc文件

·項(xiàng)目同級(jí)目錄下創(chuàng)建res文件夾并將資源粘貼過來

·編輯qrc,加入前綴和文件

·利用qrc生成二進(jìn)制文件 rcc

·rcc文件放入到debug同級(jí)目錄下

·注冊(cè)二進(jìn)制文件

·添加圖標(biāo)資源

4.1 qrc文件生成

右鍵項(xiàng)目,點(diǎn)擊添加新文件

?


選擇Qt -> Qt Resource File

資源文件起名 如:res


生成res.qrc文件

4.2 創(chuàng)建res文件夾

項(xiàng)目的同級(jí)目錄下創(chuàng)建文件夾res,并將準(zhǔn)備好的資源粘貼進(jìn)去

4.3 編輯qrc文件

右鍵qrc文件,選中Open in Editor


添加前綴為 '' ''


添加文件 將res下所有文件選中即可

4.4 qrc生成 rcc二進(jìn)制文件

由于資源過大,會(huì)提示錯(cuò)誤:


這個(gè)錯(cuò)誤也就是“編譯器的堆空間不足”。

由于資源文件qrc過大,超出分配的內(nèi)存范圍

因此我們需要利用二進(jìn)制資源,而生成二進(jìn)制資源就需要我們剛剛的qrc文件

利用cmd打開終端,定位到res.qrc的目錄下,輸入命令

rcc -binary .res.qrc -o plane.rcc

4.5 復(fù)制rcc文件

將生成好的rcc文件,放入到debug同級(jí)目錄中一份

4.6 注冊(cè)二進(jìn)制文件

在config.h中追加配置數(shù)據(jù)

#define GAMERESPATH "./plane.rcc" //rcc文件路徑 在main.cpp中修改代碼 #include "mainscene.h" #include #include #include "config.h" int main(int argc, char *argv[]) {QApplication a(argc, argv);//注冊(cè)外部的二進(jìn)制資源文件QResource::registerResource(GAME_RES_PATH);MainScene w;w.show();return a.exec(); }

此時(shí),qrc文件已經(jīng)沒用了,刪除即可!

最簡(jiǎn)單的刪除方式就是 .pro工程文件中刪除代碼,與工程無瓜葛

刪除以下代碼:
RESOURCES += res.qrc

4.7 添加圖標(biāo)資源

配置文件config.h中追加代碼

虛擬資源路徑語法如下:

" : + 前綴名 + 文件路徑 "

#define GAME_ICON ":/res/app.ico"

在mainScene.cpp的 initScene函數(shù)中追加代碼:

//設(shè)置圖標(biāo)資源 setWindowIcon(QIcon( GAME_ICON)); //加頭文件 #include <QIcon>

運(yùn)行測(cè)試:

5、地圖滾動(dòng)

步驟:

·創(chuàng)建地圖文件和類

·添加成員函數(shù)和成員屬性 實(shí)現(xiàn)成員函數(shù)

·游戲運(yùn)行調(diào)用定時(shí)器

·啟動(dòng)定時(shí)器,監(jiān)聽定時(shí)器信號(hào)實(shí)現(xiàn)游戲循環(huán)

-計(jì)算游戲內(nèi)元素坐標(biāo)

-繪制到屏幕中

5.1 創(chuàng)建地圖文件和類

右鍵項(xiàng)目,添加新文件


選擇C++ -> C++ Class


修改類名為map,點(diǎn)擊下一步,直到創(chuàng)建完畢

至此,地圖Map的文件和類創(chuàng)建完畢

5.2 地圖的成員函數(shù)和成員屬性

在map.h中添加如下代碼

#ifndef MAP_H #define MAP_H #include(Qpixmap) class Map { public://構(gòu)造函數(shù)Map();//地圖滾動(dòng)坐標(biāo)計(jì)算void mapPosition(); public://地圖圖片對(duì)象QPixmap m_map1;QPixmap m_map2;//地圖Y軸坐標(biāo)int m_map1_posY;int m_map2_posY;//地圖滾動(dòng)幅度int m_scroll_speed; }; endif // MAP_H

5.3 實(shí)現(xiàn)成員函數(shù)

在config.h中添加新的配置數(shù)據(jù)

/********** 地圖配置數(shù)據(jù) **********/ define MAPPATH ":/res/imgbglevel1.jpg" //地圖圖片路徑 define MAPSCROLLSPEED 2 //地圖滾動(dòng)速度

在map.cpp中實(shí)現(xiàn)成員函數(shù)

#include "map.h" #include "config.h" Map::Map() {//初始化加載地圖對(duì)象mmap1.load(MAPPATH);mmap2.load(MAPPATH);//設(shè)置地圖其實(shí)y軸坐標(biāo)m_map1_posY = -GAME_HEIGHT;m_map2_posY = 0;//設(shè)置地圖滾動(dòng)速度m_scroll_speed = MAP_SCROLL_SPEED; } void Map::mapPosition() {//處理第一張圖片滾動(dòng)mmap1posY += MAPSCROLLSPEED;if(mmap1posY >= 0){mmap1posY =-GAME_HEIGHT;}//處理第二張圖片滾動(dòng)m_map2_posY += MAP_SCROLL_SPEED;if(m_map2_posY >= GAME_HEIGHT ){m_map2_posY =0;} }

5.4 定時(shí)器添加

在mainScene.h中添加新的定時(shí)器對(duì)象

QTimer m_Timer;

在 config.h中添加 屏幕刷新間隔

#define GAME_RATE 10 //刷新間隔,幀率 單位毫秒

在MainScene.cpp的initScene中追加代碼

//定時(shí)器設(shè)置 m_Timer.setInterval(GAME_RATE);

5.5 啟動(dòng)定時(shí)器實(shí)現(xiàn)地圖滾動(dòng)

在MainScene.h中添加新的成員函數(shù)以及成員對(duì)象

//啟動(dòng)游戲 用于啟動(dòng)定時(shí)器對(duì)象 void playGame(); //更新坐標(biāo) void updatePosition(); //繪圖事件 void paintEvent(QPaintEvent *event); //地圖對(duì)象 Map m_map;

在MainScene.cpp中實(shí)現(xiàn)成員函數(shù)

void MainScene::playGame() {//啟動(dòng)定時(shí)器m_Timer.start();//監(jiān)聽定時(shí)器connect(&m_Timer,&QTimer::timeout,[=](){//更新游戲中元素的坐標(biāo)updatePosition();//重新繪制圖片update();}); } void MainScene::updatePosition() {//更新地圖坐標(biāo)m_map.mapPosition(); } void MainScene::paintEvent(QPaintEvent *event) {QPainter painter(this);//繪制地圖painter.drawPixmap(0,m_map.m_map1_posY , m_map.m_map1);painter.drawPixmap(0,m_map.m_map2_posY , m_map.m_map2); }

測(cè)試運(yùn)行游戲,實(shí)現(xiàn)地圖滾動(dòng)

6、英雄飛機(jī)

步驟如下:

·創(chuàng)建英雄文件和類

·添加成員函數(shù)和成員屬性

·實(shí)現(xiàn)成員函數(shù)

·創(chuàng)建飛機(jī)對(duì)象并顯示

·拖拽飛機(jī)

6.1 創(chuàng)建英雄文件和類

創(chuàng)建HeroPlane類以及生成對(duì)應(yīng)的文件

和創(chuàng)建地圖的步驟一樣,這里就不在詳細(xì)截圖了

創(chuàng)建好后生成HeroPlane.h 和 HeroPlane.cpp兩個(gè)文件

6.2 飛機(jī)的成員函數(shù)和成員屬性

在HeroPlane.h中添加代碼

class HeroPlane {public: HeroPlane();//發(fā)射子彈void shoot();//設(shè)置飛機(jī)位置void setPosition(int x, int y); public://飛機(jī)資源 對(duì)象QPixmap m_Plane;//飛機(jī)坐標(biāo)int m_X;int m_Y;//飛機(jī)的矩形邊框QRect m_Rect; };

6.3 成員函數(shù)實(shí)現(xiàn)

這里飛機(jī)有個(gè)發(fā)射子彈的成員函數(shù),由于我們還沒有做子彈

因此這個(gè)成員函數(shù)先寫成空實(shí)現(xiàn)即可

在config.h中追加飛機(jī)配置參數(shù)

/********** 飛機(jī)配置數(shù)據(jù) **********/ define HERO_PATH ":/res/hero2.png"heroPlane.cpp中實(shí)現(xiàn)成員函數(shù)代碼:#include "heroplane.h" #include "config.h" HeroPlane::HeroPlane() {//初始化加載飛機(jī)圖片資源mPlane.load(HEROPATH);//初始化坐標(biāo)m_X = GAME_WIDTH * 0.5 - m_Plane.width()*0.5;m_Y = GAME_HEIGHT - m_Plane.height();//初始化矩形框m_Rect.setWidth(m_Plane.width());m_Rect.setHeight(m_Plane.height());m_Rect.moveTo(m_X,m_Y); } void HeroPlane::setPosition(int x, int y) {mX = x;mY = y;m_Rect.moveTo(mX,mY); } void HeroPlane::shoot() { }

6.4 創(chuàng)建飛機(jī)對(duì)象并顯示

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

//飛機(jī)對(duì)象 HeroPlane m_hero;

在MainScene.cpp的paintEvent中追加代碼

//繪制英雄 painter.drawPixmap(m_hero.m_X,m_hero.m_Y,m_hero.m_Plane);

測(cè)試飛機(jī)顯示到屏幕中

6.5 拖拽飛機(jī)

在MainScene.h中添加鼠標(biāo)移動(dòng)事件

//鼠標(biāo)移動(dòng)事件 void mouseMoveEvent(QMouseEvent *event); 重寫鼠標(biāo)移動(dòng)事件 void MainScene::mouseMoveEvent(QMouseEvent event) {int x = event->x() - mhero.mRect.width()0.5; //鼠標(biāo)位置 - 飛機(jī)矩形的一半int y = event->y() - mhero.mRect.height()*0.5;//邊界檢測(cè)if(x <= 0 ) {x = 0; } if(x >= GAME_WIDTH - m_hero.m_Rect.width()) {x = GAME_WIDTH - m_hero.m_Rect.width(); } if(y <= 0) {y = 0; } if(y >= GAME_HEIGHT - m_hero.m_Rect.height()) {y = GAME_HEIGHT - m_hero.m_Rect.height(); } m_hero.setPosition(x,y); }

測(cè)試飛機(jī)可以拖拽

7、子彈制作

制作步驟如下:

·創(chuàng)建子彈文件和類

·添加子彈類中的成員函數(shù)和成員屬性

·實(shí)現(xiàn)成員函數(shù)

·測(cè)試子彈

7.1 創(chuàng)建子彈文件和類

創(chuàng)建Bullet類以及生成對(duì)應(yīng)的文件

創(chuàng)建好后生成bullet.h 和 bullet.cpp兩個(gè)文件

7.2 子彈的成員函數(shù)和成員屬性

在Bullet.h中添加代碼

#ifndef BULLET_H #define BULLET_H #include "config.h" #include<QPixamp> class Bullet {public: Bullet();//更新子彈坐標(biāo) void updatePosition(); public://子彈資源對(duì)象QPixmap mBullet;//子彈坐標(biāo)int mX;int mY;//子彈移動(dòng)速度int mSpeed;//子彈是否閑置bool mFree;//子彈的矩形邊框(用于碰撞檢測(cè))QRect mRect; }; #endif // BULLET_H

7.3 子彈類成員函數(shù)實(shí)現(xiàn)

在config.h中追加子彈配置信息

/********** 子彈配置數(shù)據(jù) **********/ #define BULLETPATH ":/res/bullet11.png" //子彈圖片路徑 #define BULLET_SPEED 5 //子彈移動(dòng)速度

在bullet.cpp中實(shí)現(xiàn)成員函數(shù),代碼如下:

#include "bullet.h" Bullet::Bullet() {//加載子彈資源mBullet.load(BULLETPATH);//子彈坐標(biāo) 初始坐標(biāo)可隨意設(shè)置,后期會(huì)重置m_X = GAME_WIDTH*0.5 - m_Bullet.width()*0.5;m_Y = GAME_HEIGHT;//子彈狀態(tài)m_Free = true;//子彈速度m_Speed = BULLET_SPEED;//子彈矩形框m_Rect.setWidth(m_Bullet.width());m_Rect.setHeight(m_Bullet.height());m_Rect.moveTo(m_X,m_Y); } void Bullet::updatePosition() {//如果子彈是空閑狀態(tài),不需要坐標(biāo)計(jì)算//玩家飛機(jī)可以控制子彈的空閑狀態(tài)為falseif(m_Free) {return; }//子彈向上移動(dòng)m_Y -= m_Speed;m_Rect.moveTo(m_X,m_Y);if(m_Y <= -m_Rect.height());{m_Free = true;} }

7.4 測(cè)試子彈

子彈本身應(yīng)該由飛機(jī)發(fā)射,測(cè)試階段我們寫一段輔助代碼,看看效果即可

測(cè)試過后,這些代碼可以刪除掉

在MainScene.h中添加測(cè)試代碼

//測(cè)試子彈代碼 Bullet temp_bullet;

在MainScene.cpp中的updatePosition里添加測(cè)試代碼

//測(cè)試子彈代碼 temp_bullet.m_Free = false; temp_bullet.updatePosition();

在MainScene.cpp中的paintEvent里添加測(cè)試代碼

//測(cè)試子彈代碼 painter.drawPixmap(temp_bullet.m_X,temp_bullet.m_Y,temp_bullet.m_Bullet);

運(yùn)行程序,此時(shí)會(huì)有一發(fā)子彈從屏幕中射出

測(cè)試完畢后,測(cè)試代碼刪除或注釋即可

8、玩家發(fā)射子彈

玩家發(fā)射子彈制作步驟如下:

·英雄飛機(jī)添加新的成員屬性

·實(shí)現(xiàn)發(fā)射成員函數(shù)

·主場(chǎng)景控制子彈發(fā)射

8.1 飛機(jī)添加新成員屬性

在config.h中添加新的配置數(shù)據(jù)

#define BULLET_NUM 30 //彈匣中子彈總數(shù) #define BULLET_INTERVAL 20 //發(fā)射子彈時(shí)間間隔

在HeroPlane.h中新增成員屬性如下:

//彈匣 Bullet mbullets[BULLETNUM]; //發(fā)射間隔記錄 int m_recorder;

8.2 成員函數(shù)補(bǔ)充

在構(gòu)造函數(shù) HeroPlane 中初始化發(fā)生間隔記錄

//初始化發(fā)射間隔記錄
m_recorder = 0;

之前在英雄飛機(jī)類中預(yù)留的一個(gè)shoot函數(shù)我們進(jìn)行實(shí)現(xiàn),代碼如下:

void HeroPlane::shoot() {//累加時(shí)間間隔記錄變量mrecorder++;//判斷如果記錄數(shù)字,未達(dá)到發(fā)射間隔,直接return if(mrecorder < BULLETINTERVAL) { return; }//到達(dá)發(fā)射時(shí)間處理//重置發(fā)射時(shí)間間隔記錄mrecorder = 0;//發(fā)射子彈for(int i = 0 ; i < BULLET_NUM;i++){//如果是空閑的子彈進(jìn)行發(fā)射if(m_bullets[i].m_Free){//將改子彈空閑狀態(tài)改為假m_bullets[i].m_Free = false;//設(shè)置發(fā)射的子彈坐標(biāo)m_bullets[i].m_X = m_X + m_Rect.width()*0.5 - 10;m_bullets[i].m_Y = m_Y - 25 ;break;}} }

8.3 主場(chǎng)景中實(shí)現(xiàn)發(fā)射子彈

在MainScene.cpp的updatePosition成員函數(shù)中追加如下代碼

//發(fā)射子彈 m_hero.shoot(); //計(jì)算子彈坐標(biāo) for(int i = 0 ;i < BULLET_NUM;i++) {//如果子彈狀態(tài)為非空閑,計(jì)算發(fā)射位置if(!m_hero.m_bullets[i].m_Free){m_hero.m_bullets[i].updatePosition();} }

在MainScene.cpp的paintEvent成員函數(shù)中追加如下代碼:

//繪制子彈 for(int i = 0 ;i < BULLET_NUM;i++) {//如果子彈狀態(tài)為非空閑,計(jì)算發(fā)射位置if(!m_hero.m_bullets[i].m_Free){painter.drawPixmap(m_hero.m_bullets[i].m_X,m_hero.m_bullets[i].m_Y,m_hero.m_bullets[i].m_Bullet); } }

測(cè)試運(yùn)行,玩家可以發(fā)射子彈

9、敵機(jī)制作

敵機(jī)制作與子彈制作原理類似,也是每隔一定的時(shí)間讓敵機(jī)出場(chǎng)

制作步驟如下:

·創(chuàng)建敵機(jī)文件和類

·添加敵機(jī)類中的成員函數(shù)和成員屬性

·實(shí)現(xiàn)成員函數(shù)

·敵機(jī)出場(chǎng)

·測(cè)試敵機(jī)

9.1 創(chuàng)建敵機(jī)文件和類

創(chuàng)建EnemyPlane類以及生成對(duì)應(yīng)的文件

創(chuàng)建好后生成enemyPlane.h 和 enemyPlane.cpp兩個(gè)文件

9.2 敵機(jī)成員函數(shù)和成員屬性

在enemyPlane.h中添加如下代碼:

#ifndef ENEMYPLANE_H #define ENEMYPLANE_H #include<QPixmap> class EnemyPlane { public:EnemyPlane();//更新坐標(biāo)void updatePosition(); public://敵機(jī)資源對(duì)象QPixmap m_enemy;//位置int m_X;int m_Y;//敵機(jī)的矩形邊框(碰撞檢測(cè))QRect m_Rect;//狀態(tài)bool m_Free;//速度int m_Speed; }; #endif // ENEMYPLANE_H

9.3 敵機(jī)成員函數(shù)實(shí)現(xiàn)

在config.h中追加敵機(jī)配置信息

/********** 敵機(jī)配置數(shù)據(jù) **********/ #define ENEMYPATH ":/res/img-plane5.png" //敵機(jī)資源圖片 #define ENEMY_SPEED 5 //敵機(jī)移動(dòng)速度 #define ENEMY_NUM 20 //敵機(jī)總數(shù)量 #define ENEMY_INTERVAL 30 //敵機(jī)出場(chǎng)時(shí)間間隔

在enemyPlane.cpp中實(shí)現(xiàn)成員函數(shù),代碼如下:

EnemyPlane::EnemyPlane() {//敵機(jī)資源加載menemy.load(ENEMYPATH);//敵機(jī)位置m_X = 0;m_Y = 0;//敵機(jī)狀態(tài)m_Free = true;//敵機(jī)速度m_Speed = ENEMY_SPEED;//敵機(jī)矩形m_Rect.setWidth(m_enemy.width());m_Rect.setHeight(m_enemy.height());m_Rect.moveTo(m_X,m_Y); } void EnemyPlane::updatePosition() {//空閑狀態(tài),不計(jì)算坐標(biāo) if(m_Free) { return; }m_Y += m_Speed;m_Rect.moveTo(m_X,m_Y);if(m_Y >= GAME_HEIGHT + m_Rect.height()){m_Free = true;} } 9.4 敵機(jī)出場(chǎng) 在MainScene.h中追加敵機(jī)出場(chǎng)的成員函數(shù) 在MainScene.h中追加敵機(jī)數(shù)組 和 敵機(jī)出場(chǎng)間隔記錄 的成員屬性//敵機(jī)出場(chǎng)void enemyToScene();//敵機(jī)數(shù)組EnemyPlane m_enemys[ENEMY_NUM];//敵機(jī)出場(chǎng)間隔記錄int m_recorder;

初始化間隔記錄屬性,在MainScene.cpp的 initScene 成員函數(shù)中追加

#m_recorder = 0; 實(shí)現(xiàn)成員函數(shù) enemyToScene void MainScene::enemyToScene() {mrecorder++;if(mrecorder < ENEMY_INTERVAL){return;}m_recorder = 0; for(int i = 0 ; i< ENEMY_NUM;i++) {if(m_enemys[i].m_Free){//敵機(jī)空閑狀態(tài)改為falsem_enemys[i].m_Free = false;//設(shè)置坐標(biāo)m_enemys[i].m_X = rand() % (GAME_WIDTH - m_enemys[i].m_Rect.width());m_enemys[i].m_Y = -m_enemys[i].m_Rect.height();break;}} }

在PlayGame成員函數(shù)的timeout信號(hào)發(fā)送時(shí)候,槽函數(shù)中首先追加 enemyToScene

//敵機(jī)出場(chǎng) enemyToScene();

更新敵機(jī)坐標(biāo),在updatePosition成員函數(shù)中追加代碼

//敵機(jī)坐標(biāo)計(jì)算 for(int i = 0 ; i< ENEMY_NUM;i++) {//非空閑敵機(jī) 更新坐標(biāo)if(m_enemys[i].m_Free == false){m_enemys[i].updatePosition();} }

繪制敵機(jī),在paintEvent成員函數(shù)中追加繪制敵機(jī)代碼

//繪制敵機(jī) for(int i = 0 ; i< ENEMY_NUM;i++) {if(m_enemys[i].m_Free == false){painter.drawPixmap(m_enemys[i].m_X,m_enemys[i].m_Y,m_enemys[i].m_enemy);} }

添加隨機(jī)數(shù)種子

在MainScene.cpp中 initScene 成員函數(shù)里添加隨機(jī)數(shù)種子

//隨機(jī)數(shù)種子 srand((unsigned int)time(NULL)); //頭文件 #include <ctime> 運(yùn)行測(cè)試敵機(jī)出場(chǎng)效果

10、碰撞檢測(cè)

實(shí)現(xiàn)碰撞檢測(cè)步驟如下:

·添加并實(shí)現(xiàn)碰撞檢測(cè)成員函數(shù)

·調(diào)用并測(cè)試函數(shù)

10.1 添加并實(shí)現(xiàn)碰撞檢測(cè)函數(shù)

在MainScene.h中添加新的成員函數(shù)

void collisionDetection();

在MainScene.cpp中實(shí)現(xiàn)該成員函數(shù)

void MainScene::collisionDetection() {//遍歷所有非空閑的敵機(jī)for(int i = 0 ;i < ENEMYNUM;i++){if(menemys[i].m_Free){//空閑飛機(jī) 跳轉(zhuǎn)下一次循環(huán)continue;}//遍歷所有 非空閑的子彈for(int j = 0 ; j < BULLET_NUM;j++){if(m_hero.m_bullets[j].m_Free){//空閑子彈 跳轉(zhuǎn)下一次循環(huán)continue;}//如果子彈矩形框和敵機(jī)矩形框相交,發(fā)生碰撞,同時(shí)變?yōu)榭臻e狀態(tài)即可if(m_enemys[i].m_Rect.intersects(m_hero.m_bullets[j].m_Rect)){m_enemys[i].m_Free = true;m_hero.m_bullets[j].m_Free = true;}}} }

10.2 調(diào)用并測(cè)試函數(shù)

在MainScene.cpp中 playGame成員函數(shù)里,追加碰撞檢測(cè)代碼


運(yùn)行查看效果,子彈和敵機(jī)碰撞后會(huì)同時(shí)消失

11、爆炸效果

爆炸效果功能實(shí)現(xiàn)步驟如下:

·創(chuàng)建爆炸文件和類

·添加爆炸類中的成員函數(shù)和成員屬性

·實(shí)現(xiàn)成員函數(shù)

·調(diào)用并測(cè)試效果

11.1 創(chuàng)建爆炸文件和類

創(chuàng)建Bomb類以及生成對(duì)應(yīng)的文件

創(chuàng)建好后生成bomb.h 和 bomb.cpp兩個(gè)文件

11.2 爆炸成員函數(shù)和成員屬性

在config.h中加入爆炸配置數(shù)據(jù)

define BOMB_PATH ":/res/bomb-%1.png" //爆炸資源圖片 define BOMB_NUM 20 //爆炸數(shù)量 define BOMB_MAX 7 //爆炸圖片最大索引 define BOMB_INTERVAL 20 //爆炸切圖時(shí)間間隔在bomb.h中添加如下代碼:#ifndef BOMB_H #define BOMB_H #include "config.h" #include <QPixmap> #include <QVector> class Bomb { public:Bomb();//更新信息(播放圖片下標(biāo)、播放間隔)void updateInfo(); public://放爆炸資源數(shù)組QVector<QPixmap> m_pixArr;//爆炸位置int m_X;int m_Y;//爆炸狀態(tài)bool m_Free;//爆炸切圖的時(shí)間間隔int m_Recoder;//爆炸時(shí)加載的圖片下標(biāo)int m_index; }; #endif // BOMB_H

11.3 實(shí)現(xiàn)成員函數(shù)

Bomb::Bomb() {//初始化爆炸圖片數(shù)組for(int i = 1 ;i <= BOMBMAX ;i++){//字符串拼接,類似 ":/res/bomb-1.png"QString str = QString(BOMBPATH).arg(i);mpixArr.pushback(QPixmap(str));}//初始化坐標(biāo)m_X = 0;m_Y = 0;//初始化空閑狀態(tài)m_Free = true;//當(dāng)前播放圖片下標(biāo)m_index = 0;//爆炸間隔記錄m_Recoder = 0; } void Bomb::updateInfo() {//空閑狀態(tài)if(m_Free) { return; } m_Recoder++; if(m_Recoder < BOMB_INTERVAL) {//記錄爆炸間隔未到,直接return,不需要切圖return; } //重置記錄 m_Recoder = 0;//切換爆炸播放圖片 m_index++; //注:數(shù)組中的下標(biāo)從0開始,最大是6 //如果計(jì)算的下標(biāo)大于6,重置為0if(m_index > BOMB_MAX-1){m_index = 0;m_Free = true;} }

11.4 加入爆炸數(shù)組

在MainScene.h中加入爆炸數(shù)組 成員屬性

//爆炸數(shù)組 Bomb m_bombs[BOMB_NUM]; 在碰撞檢測(cè)成員函數(shù)中,當(dāng)發(fā)生碰撞時(shí),設(shè)置爆炸對(duì)象的信息 //播放爆炸效果 for(int k = 0 ; k < BOMBNUM;k++) { if(mbombs[k].m_Free) { //爆炸狀態(tài)設(shè)置為非空閑 mbombs[k].mFree = false; //更新坐標(biāo)m_bombs[k].m_X = m_enemys[i].m_X;m_bombs[k].m_Y = m_enemys[i].m_Y;break;}}在 MainScene.cpp的updatePosition中追加代碼 //計(jì)算爆炸播放的圖片 for(int i = 0 ; i < BOMB_NUM;i++) {if(m_bombs[i].m_Free == false){m_bombs[i].updateInfo();} } 在 MainScene.cpp的paintEvent 中追加繪制爆炸代碼//繪制爆炸圖片 for(int i = 0 ; i < BOMB_NUM;i++) {if(m_bombs[i].m_Free == false){ painter.drawPixmap(m_bombs[i].m_X,m_bombs[i].m_Y,m_bombs[i].m_pixArr[m_bombs[i].m_index]);} }

測(cè)試,實(shí)現(xiàn)爆炸效果

12、音效添加

音效添加步驟如下:

·添加多媒體模塊

·播放音效

12.1 添加多媒體模塊

在工程文件planeWar.pro 中修改代碼

QT += core gui multimedia

12.2 播放音效

在config.h中 添加音效的配置路徑

#define SOUND_BACKGROUND ":/res/bg.wav"

#define SOUND_BOMB ":/res/bomb.wav"

注: QSound使用時(shí)候要包含頭文件 #include<QSound>

在PlayGame中添加背景音樂

//啟動(dòng)背景音樂
QSound::play(SOUND_BACKGROUND);

在爆炸時(shí)候添加爆炸音效

//播放音效
QSound::play(SOUND_BOMB);

測(cè)試音效

13、打包發(fā)布

1、確定環(huán)境變量配置好 PATH: C:QtQt5.x.x5.x.xmingw53_32bin

2、在QT中把運(yùn)行模式切換成 release 模式, 編譯。 在外層目錄中會(huì)有 release 版本的目錄.

3、將目錄中的 rcc 二進(jìn)制資源文件、可執(zhí)行程序文件(.exe) 拷貝到另外一個(gè)單獨(dú)的文件夾中.

4、進(jìn)入 cmd 命令模式,切換到可執(zhí)行程序所在的目錄. 執(zhí)行以下命令,將可執(zhí)行程序所需的庫文件拷貝到當(dāng)前目錄:

windeployqt PlaneWar.exe

5、額外可以將 ico 圖標(biāo)也拷貝到當(dāng)前可執(zhí)行程序所在的目錄。

6、啟動(dòng) HM NIS EDIT 軟件,在軟件中選擇: 文件->新建腳本向?qū)?#xff0c; 接下來跟著向?qū)Р僮?

7、為了讓安裝包安裝軟件也有快捷方式圖標(biāo),在生成的腳本里。進(jìn)行修改:

CreateShortCut "$DESKTOP飛機(jī)大戰(zhàn).lnk" "$INSTDIRPlaneWar.exe"
CreateShortCut "$DESKTOP飛機(jī)大戰(zhàn).lnk" "$INSTDIRPlaneWar.exe" "" "$INSTDIRapp.ico"

8、點(diǎn)擊菜單欄的 NSIS ,然后選擇編譯,在桌面生成安裝包。

總結(jié)

以上是生活随笔為你收集整理的游戏角色坐标的保存间隔_使用C++编写飞机大战游戏【手把手教程】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久草精品视频 | 五月婷婷综合在线视频 | 在线观看91精品视频 | 91视频高清完整版 | 日本韩国在线不卡 | av一区在线 | 99久久精品免费看国产四区 | 成人av网站在线播放 | 日韩欧美在线观看一区二区三区 | 精品视频专区 | 97精品国产97久久久久久 | 在线观看中文字幕网站 | 日韩久久精品一区二区 | 午夜三级在线 | 99国产视频在线 | 久草国产精品 | 国产99久久九九精品免费 | 亚洲电影一级黄 | 五月婷婷在线综合 | 国产成人亚洲在线电影 | 国产成人亚洲在线电影 | 亚洲电影免费 | 亚洲综合视频在线观看 | 国产尤物一区二区三区 | 日韩欧美久久 | 精品在线亚洲视频 | 国产精品美女久久久久久网站 | 丁香色天天 | 日韩一区二区三区免费视频 | 免费黄色看片 | 久久大片 | 欧美日韩高清在线一区 | 看片一区二区三区 | 日韩精品中文字幕在线观看 | 欧美精品久久久久久久亚洲调教 | 成人91在线 | 91桃色免费视频 | 欧美先锋影音 | 色婷婷导航 | 国产成人福利在线观看 | 成人小电影在线看 | 日韩一区二区三区在线看 | 国产亚洲视频在线 | 激情综合亚洲精品 | 亚洲 成人 欧美 | 国产99久 | 国产精品99久久久久久武松影视 | 午夜精品视频免费在线观看 | 伊人av综合| 久久国产精品免费一区 | 免费在线观看中文字幕 | 91最新在线| av在线播放快速免费阴 | av免费观看网址 | 亚洲男人天堂a | a黄在线观看| 亚洲精品视频在线观看免费视频 | 久久久久久久久久国产精品 | 久久a v视频| 96视频免费在线观看 | 天天操综合 | 激情五月播播久久久精品 | 91网址在线 | 精品一二三四在线 | 欧美激情视频一区二区三区免费 | 免费成人在线观看视频 | 国产乱码精品一区二区三区介绍 | 日韩在线观看 | 国产麻豆电影在线观看 | 久久国产精品视频观看 | 丝袜美腿亚洲综合 | 韩国av三级| 久久精品最新 | 麻豆传媒视频在线 | 亚洲日本va午夜在线电影 | 欧美性色黄大片在线观看 | 国产成人精品一区在线 | 少妇性aaaaaaaaa视频 | 久久国产精品久久国产精品 | 日韩久久激情 | 色在线视频网 | 色综合久久99| 日韩网页 | 国偷自产视频一区二区久 | 天天爱av导航 | 亚洲黄色片在线 | 国产成人亚洲在线观看 | 中文字幕2021| 欧美日韩中文国产一区发布 | 六月婷婷久香在线视频 | av夜夜操| 免费看精品久久片 | 免费一级片观看 | 中文在线√天堂 | 91色欧美 | 久久久久久久久久久免费av | 亚洲婷婷在线视频 | 99精品乱码国产在线观看 | 久久久久久久久久久综合 | 99爱精品在线 | 特级西西444www大胆高清无视频 | 免费国产视频 | 99久久精品网 | 亚洲成a人片综合在线 | 国产精品12| 粉嫩av一区二区三区免费 | 一本一道久久a久久综合蜜桃 | 久久久久久黄色 | 国产精品久久久久久久久久久久久久 | 精品国产伦一区二区三区观看方式 | 精品在线观看一区二区 | 五月婷婷开心 | 国产在线观看免费观看 | 国产精品手机看片 | 久久av电影 | 在线小视频国产 | 亚洲国内精品在线 | 欧美一级艳片视频免费观看 | 激情婷婷| 97色综合 | 久久精品91视频 | 高清中文字幕 | 亚洲精品视频在线观看免费视频 | 中国老女人日b | 中文字幕高清在线播放 | 国内精品久久久久久 | 午夜三级毛片 | 久久精品99精品国产香蕉 | 成人免费色 | 九九热在线视频免费观看 | 在线观看免费av网站 | 91视频在线播放视频 | 精品在线观看一区二区 | 欧美色综合天天久久综合精品 | 成人高清在线 | 九九有精品 | 中文字幕视频一区二区 | 狠狠狠的干 | 国产 欧美 日本 | 99精品一区| 日b黄色片 | 免费日韩av片 | 亚洲国产免费看 | 97av视频在线观看 | 欧美污在线观看 | 久久夜夜夜 | 国产美女主播精品一区二区三区 | 免费亚洲视频在线观看 | 亚洲国产美女精品久久久久∴ | 久久久久麻豆v国产 | 久久精品9 | 中文字幕韩在线第一页 | 国产精品亚洲片在线播放 | 亚洲欧美视频在线观看 | www.天天成人国产电影 | 色吊丝在线永久观看最新版本 | 欧美极品一区二区三区 | 日韩av电影一区 | 在线看一区 | 国产只有精品 | 国产精品毛片网 | 国产在线观看一 | 欧美巨乳波霸 | 国产午夜精品理论片在线 | 婷婷六月丁香激情 | 九九久久国产 | 99热在线国产 | 久草网站在线 | 国产精品久久久久久久久岛 | 久久99精品久久久久久清纯直播 | 日产乱码一二三区别在线 | 久久久久女人精品毛片 | 国产精品粉嫩 | 精品五月天 | 欧美另类激情 | 手机版av在线 | 免费看的黄色 | 热久久免费视频精品 | 久久综合九色综合久久久精品综合 | 国产精品igao视频网网址 | 国产精品麻豆99久久久久久 | 九九色网| 亚洲mv大片欧洲mv大片免费 | 国产成人精品一区二区三区福利 | 免费在线观看av网址 | 久久免费视频在线观看6 | 精品亚洲免费 | 成年人天堂com | av网站免费看 | 五月天国产 | 中文有码在线 | 国产一线二线三线在线观看 | 久久激情婷婷 | 香蕉视频久久久 | 亚洲日韩中文字幕 | 在线观看av大片 | 色欲综合视频天天天 | 91手机视频在线 | 国产手机视频 | 日韩免费视频网站 | 成人 国产 在线 | 成人久久18免费网站图片 | 亚洲一区美女视频在线观看免费 | 中文字幕视频免费观看 | 国产成人一区二区三区影院在线 | 久久综合视频网 | 99久久爱| 丁香六月婷婷综合 | 国产亚洲免费观看 | 91av蜜桃 | 五月婷婷电影网 | 国产精品不卡在线观看 | 精品国产免费一区二区三区五区 | 免费v片| 成年人视频免费在线播放 | 天天色婷婷 | 国产视频在线一区二区 | 久久任你操 | 乱子伦av | 六月丁香激情综合 | 国产一级性生活视频 | 三级黄色免费 | 国产色中涩 | 国产精品原创 | 国产一级在线 | 国产黄色视 | 国产精品女人网站 | 天堂网在线视频 | a天堂在线看 | 久久久久欧美精品999 | 天天射天天搞 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲视频 中文字幕 | 午夜影院一级 | 男女拍拍免费视频 | av资源在线看 | 亚洲蜜桃在线 | 免费色视频网址 | a在线v| 欧美不卡视频在线 | 婷婷综合| 在线观看黄色大片 | 国产黄色免费观看 | 欧美一二三在线 | 九九免费观看全部免费视频 | 亚洲一级免费观看 | 久久噜噜少妇网站 | 中文视频一区二区 | 国产精品va在线 | 欧美激情精品久久久久久 | 在线观看va| 成人网大片 | 久久久久久久久久久影视 | 国产69精品久久99不卡的观看体验 | 久久视频6 | 亚洲成人精品 | 福利视频一区二区 | 色综合久久久久久久 | 欧美aa级 | 亚洲天堂网视频在线观看 | 天天射天天艹 | 超碰人人草 | 中文字幕久久精品一区 | 久久久亚洲电影 | 国产最新在线 | 久久视频精品 | 婷婷激情五月 | av片中文字幕 | 国产又粗又长的视频 | 日韩三级视频在线看 | 亚洲综合在线观看视频 | a在线v| 欧美日韩国内在线 | 夜色资源站国产www在线视频 | 激情综合狠狠 | 免费国产亚洲视频 | a√国产免费a | 日本精品久久久久中文字幕5 | 少妇bbbb| 99精品视频在线免费观看 | 欧美成年人在线观看 | 成人在线视频在线观看 | 亚洲狠狠婷婷 | 91精品爽啪蜜夜国产在线播放 | 精品一区二区免费 | 日韩中文字幕在线 | 爱爱一区 | 色综合亚洲精品激情狠狠 | 在线看国产一区 | 91九色porn在线资源 | 香蕉免费在线 | 人人插人人看 | 精品国产一区二 | 免费国产亚洲视频 | 美女视频免费一区二区 | 黄色网在线免费观看 | 91精品国产91久久久久 | 射综合网 | 国产一区在线免费 | 97网| 国产91精品看黄网站在线观看动漫 | 亚洲一区在线看 | 国产黄色片免费在线观看 | 97超碰成人在线 | 国产精品久久电影网 | 91视频免费看片 | 欧美ⅹxxxxxx | 日韩91在线| 狠狠狠狠狠色综合 | 国产成a人亚洲精v品在线观看 | 欧美色综合天天久久综合精品 | 911香蕉视频 | av丁香 | 日日操夜夜操狠狠操 | 色五月激情五月 | 欧美黑人性爽 | 亚洲国产午夜 | 91禁在线观看 | 91资源在线免费观看 | 中文字幕久久久精品 | 一区二区三区在线观看免费视频 | 狠狠狠色丁香婷婷综合久久88 | av在线小说 | 亚洲精品美女久久久 | 天天综合网 天天 | 国产色在线,com | 99热官网 | av资源在线看 | 伊人看片 | 999久久国精品免费观看网站 | 欧美一级视频一区 | 成人一区二区三区在线 | 午夜精品久久久 | av无限看| 色七七亚洲影院 | 欧美精品久久久久久 | 亚洲一区二区三区四区精品 | 天天综合网 天天 | 欧美精品午夜 | 最近中文字幕在线播放 | 99视频一区二区 | 五月激情六月丁香 | 91黄色免费网站 | 中文字幕第一页在线vr | 69精品在线 | 超碰国产在线观看 | 一区二区三区国产精品 | 日韩黄视频 | 91麻豆网| www.色午夜.com| 日本久久电影 | 69精品人人人人 | 久久99热精品这里久久精品 | av品善网 | 最新三级在线 | 樱空桃av | 在线观看亚洲国产 | 色狠狠干 | 91最新视频在线观看 | 永久av免费在线观看 | 91精品国产99久久久久久久 | 中文字幕在线观看第二页 | 中文字幕在线免费看线人 | 手机在线日韩视频 | 国产色综合 | 日韩欧美视频免费在线观看 | 国产色久| 亚洲天堂网在线视频观看 | 伊人网站| 久久国产精品一区二区 | 亚洲婷婷综合色高清在线 | 51久久夜色精品国产麻豆 | 黄色软件在线观看免费 | 在线免费观看国产黄色 | 成人一级片免费看 | 青草视频在线看 | 婷婷综合电影 | 在线亚洲观看 | 亚洲a网 | 中文字幕在线有码 | 国产在线999| 日韩美在线观看 | 国产精品福利在线播放 | 一级免费黄色 | 99热超碰在线 | 深爱婷婷久久综合 | 婷婷综合导航 | 91丨九色丨丝袜 | 在线日韩中文字幕 | 国产在线不卡视频 | 在线观看亚洲成人 | 色欧美视频| 99视频久 | 国产精品欧美一区二区三区不卡 | 国产成人a亚洲精品 | 欧美一级黄色视屏 | 日批网站在线观看 | 国产精品美女在线 | 中文在线字幕免费观看 | 中文字幕日韩伦理 | 国内精品久久久久久久久 | 国产亚洲精品久久久久久久久久久久 | 国产97在线看 | 国产精品色视频 | 手机看片久久 | www欧美xxxx | 丁香婷婷激情国产高清秒播 | 久久免费视频在线 | 久草在线视频在线观看 | 免费av看片 | 久久久首页| 狠狠色丁香 | 丁香六月五月婷婷 | 国产免费美女 | 国产精品久久久网站 | 在线免费高清一区二区三区 | 久久这里只有精品1 | 91激情| av一区在线播放 | 丁香五香天综合情 | 一区二区影视 | 九九热在线播放 | 久久激情视频 久久 | 成人在线视频免费看 | 国产精品久久久久久久久久直播 | 一区二区亚洲精品 | av中文字幕在线看 | 亚洲一区天堂 | 久久免费在线观看视频 | 久久国产精品久久精品 | 91亚洲精品久久久久图片蜜桃 | 精品视频在线免费 | 欧美精品v国产精品v日韩精品 | 欧美日韩性生活 | 国产 视频 高清 免费 | 91av在线国产 | 国产在线精品一区二区三区 | 久草久| 精品久久一区 | 在线蜜桃视频 | 成人av一区二区在线观看 | 国产一级视频在线观看 | 一区二区三区在线观看免费 | 91久久久久久国产精品 | 中日韩三级视频 | 一级性生活片 | 欧美日一级片 | 66av99精品福利视频在线 | 四虎www.| 国产在线无 | 国产一级视频免费看 | 久久精品二区 | www.99热精品 | 国产精品久久久久久久久毛片 | 精品久久久久久久久久久久久久久久久久 | 日韩动漫免费观看高清完整版在线观看 | 日韩va欧美va亚洲va久久 | 国产永久免费高清在线观看视频 | www.亚洲激情.com | 国产黄在线播放 | 国产精品亚洲精品 | 六月激情丁香 | 狠狠综合网 | 国产精品99久久久久久宅男 | 2021国产在线 | 99热这里只有精品国产首页 | 一级一片免费看 | 日韩二区精品 | 国产精品久久久久毛片大屁完整版 | 国产精品av免费在线观看 | 狠狠干我 | 日韩av成人在线观看 | 日产乱码一二三区别在线 | 国产成人精品免高潮在线观看 | 日韩av二区| 日本精品视频在线观看 | 欧美国产在线看 | 国产精选视频 | 亚洲爱爱视频 | av888av.com | 色综合婷婷| 在线免费成人 | 99精品免费在线 | 欧美性生爱 | 天天爱综合 | 国产亚洲成人精品 | 91精品在线免费观看 | av福利在线播放 | 美女视频又黄又免费 | 亚洲成人精品影院 | 中文字幕av全部资源www中文字幕在线观看 | 亚洲区色| 精品欧美在线视频 | 91成年人视频| 蜜臀av性久久久久蜜臀aⅴ四虎 | 人人爽人人澡人人添人人人人 | 亚洲播放一区 | 在线黄色国产 | 成年人在线观看网站 | 午夜黄网 | 高清国产在线一区 | 欧美在线a视频 | 日韩视频免费 | 在线观看久 | 国产精品一区二区吃奶在线观看 | 成人 亚洲 欧美 | 国产色久| 丁香婷婷久久久综合精品国产 | 亚洲最大在线视频 | 九色在线视频 | 国产精品久久久久久久久久免费 | 精品国产一区二区三区在线 | 国产精品18久久久久久久网站 | 免费日韩 精品中文字幕视频在线 | 91国内在线视频 | 久久久免费毛片 | 亚洲伊人av | av不卡免费在线观看 | 欧美午夜理伦三级在线观看 | 97精品免费视频 | 99久久夜色精品国产亚洲96 | 色婷婷九月 | 日韩欧美99 | 欧美人操人 | 日本中文字幕在线电影 | 免费国产一区二区 | 国产精品自产拍在线观看中文 | 伊人久操 | 日韩av福利在线 | 欧美激情视频在线免费观看 | 久久国产精品一区二区 | 欧美日韩国产一区二区在线观看 | 色婷丁香 | 国产麻豆精品一区二区 | 久久精品欧美一 | 国产91电影在线观看 | 日韩视频中文字幕在线观看 | 97人人看 | 狠狠狠干 | 青青草国产成人99久久 | av网站在线观看免费 | 夜色成人av | 玖玖玖在线 | 欧洲一区精品 | 日韩国产精品一区 | 成年人视频在线观看免费 | 日韩天堂网 | 色片网站在线观看 | 国内精品久久久久久久久久久 | 一色av| 国产日韩高清在线 | 九九热免费精品视频 | 欧美日韩首页 | 成人影音在线 | 天天干天天操天天做 | 国产福利av| 中文资源在线播放 | 91污在线观看 | 四虎国产精品成人免费4hu | 久久一区二区三区超碰国产精品 | 中文字幕免费成人 | 字幕网在线观看 | 国产精品成人自产拍在线观看 | av福利在线看 | 欧美一级看片 | 最近最新中文字幕视频 | 日韩一二区在线 | 精品视频在线视频 | 狠狠狠色丁香婷婷综合激情 | www国产一区 | 超碰99在线| 精品国产一区二区三区av性色 | 国产一区私人高清影院 | www.com在线观看 | 国产一级视频免费看 | 五月天激情综合 | 99热99re6国产在线播放 | 成人avav | 日韩在线在线 | 亚洲欧美日韩中文在线 | 九热在线 | 韩国av一区二区三区在线观看 | 992tv又爽又黄的免费视频 | 中文字幕色综合网 | 国产日产精品一区二区三区四区的观看方式 | 日韩精品不卡在线观看 | 亚洲精品ww | 91色综合 | 98福利在线 | 中文字幕第一页在线播放 | www.五月婷婷 | 视频一区视频二区在线观看 | 人人讲下载 | 久久精品一区二区三区四区 | 日韩av一区二区三区在线观看 | 国产视频二 | 国产综合香蕉五月婷在线 | 99久久久久久久久久 | 日日干av| 日本午夜在线亚洲.国产 | 国产精品久久99综合免费观看尤物 | 波多野结衣在线中文字幕 | 日韩欧美一区二区三区黑寡妇 | 999久久国产 | 91精品国产麻豆国产自产影视 | 中文字幕精品三级久久久 | 婷婷伊人综合亚洲综合网 | 日韩久久久久久久 | 久久婷婷精品视频 | 久久久久久久久毛片精品 | 在线91色| 国产日韩精品一区二区在线观看播放 | 国产精品二区在线观看 | 日日爽 | 手机在线日韩视频 | 久久色中文字幕 | 免费看国产一级片 | 91免费版成人| 色欧美88888久久久久久影院 | 久久电影日韩 | 一区二区三区高清在线观看 | 亚洲高清视频在线观看免费 | 99久久精品国产毛片 | 国产精品18久久久久久久网站 | 2021国产在线视频 | 国产乱对白刺激视频不卡 | 97国产视频| 黄色亚洲在线 | 欧美视频日韩视频 | 国产综合91| 久久久久成人精品 | 国产精品久久在线 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 中文字幕在线观看一区 | 五月天丁香视频 | 天天拍天天干 | 91精品国产91久久久久 | 在线免费黄色毛片 | 9热精品 | 日韩欧美视频在线播放 | 亚洲精品麻豆视频 | 国产精品美 | 亚洲精品国产麻豆 | 人人澡澡人人 | 国产高清不卡 | 在线观看www视频 | 亚州av成人 | 中文字幕在线看片 | 久久久久久久久久久久久9999 | 国产高清在线免费观看 | 中文字幕在线一区二区三区 | 精品视频一区在线观看 | 欧美日韩在线免费观看 | 国产日韩精品一区二区在线观看播放 | 成人免费共享视频 | 一本色道久久综合亚洲二区三区 | 国产精品女人久久久久久 | 久草视频免费 | 在线国产99| 午夜黄色影院 | 色婷婷狠狠五月综合天色拍 | 精品99久久 | 久久网址 | 丝袜网站在线观看 | 99精品欧美一区二区蜜桃免费 | 国产在线a免费观看 | 一色屋精品视频在线观看 | 日韩av电影免费观看 | 亚洲国产经典视频 | 国产一区在线观看免费 | 97电影在线 | 天天天在线综合网 | 日韩视频一区二区在线 | 亚洲欧美日韩在线一区二区 | 国产精品美女在线观看 | av在线直接看 | 黄色在线视频网址 | 日韩综合精品 | 麻豆首页 | 国产九色在线播放九色 | 九九久久久久久久久激情 | 91伊人久久大香线蕉蜜芽人口 | 国产a免费 | 欧美肥妇free| 亚洲精品免费播放 | 丁香六月国产 | 日本久久高清视频 | 91看片在线看片 | 欧美成人xxxx | 黄色91在线观看 | 亚洲国产成人av网 | 国产 日韩 中文字幕 | 99re亚洲国产精品 | 91视频久久久 | 欧美极品一区二区三区 | 在线观看国产日韩 | 成人在线播放视频 | 中文字幕电影在线 | 久久艹人人| 制服丝袜天堂 | 国产精品一区久久久久 | 色多视频在线观看 | 91一区二区三区久久久久国产乱 | 日韩资源视频 | 欧美一级日韩三级 | 久久伦理网 | 国产午夜精品一区二区三区在线观看 | www.精选视频.com | 福利视频入口 | 九九免费观看视频 | 天天色综合久久 | 夜夜夜 | 久久久资源网 | 久久99精品热在线观看 | 亚洲黄色高清 | 午夜美女网站 | 美女在线国产 | 91免费看黄| 999久久久久久久久 69av视频在线观看 | 成人手机在线视频 | 国产精品无av码在线观看 | 黄网站app在线观看免费视频 | 日韩视频一区二区三区在线播放免费观看 | 色综合久久久久久久久五月 | 97精品欧美91久久久久久 | 成年人在线观看网站 | 日韩黄色免费电影 | 天天爽天天做 | 中文字幕电影在线 | 国产日韩高清在线 | 久久夜色精品国产欧美乱极品 | 亚洲精品国产第一综合99久久 | 丁香色婷 | 亚洲精品字幕在线 | 国产三级香港三韩国三级 | 人人dvd| 97超碰在线免费观看 | 91久久久久久国产精品 | h网站免费在线观看 | 日韩精选在线 | www.香蕉视频在线观看 | 国产成人精品久 | 日本精品视频在线 | 日本中文字幕视频 | 91av99| 国产在线播放一区二区 | 超碰在线94 | h动漫中文字幕 | 日本在线视频网址 | 天堂av免费看 | 婷婷深爱五月 | 久久婷婷国产色一区二区三区 | 波多野结依在线观看 | 91伊人久久大香线蕉蜜芽人口 | 99精品视频在线观看免费 | 免费在线观看91 | 国产一卡在线 | 久久综合免费视频影院 | 亚洲成人精品久久 | 国产在线a不卡 | 欧美在线视频a | 免费在线国产 | 在线精品亚洲一区二区 | 亚洲女人天堂成人av在线 | 丁香色综合 | 热久久视久久精品18亚洲精品 | 亚洲精品中文字幕在线 | 不卡的av电影 | 香蕉影视 | 永久免费视频国产 | 亚洲精品系列 | 国产精品乱码久久 | 国产网红在线观看 | 婷婷亚洲五月色综合 | 国精产品999国精产品岳 | 中文字幕视频 | 黄色一级在线视频 | 日本性高潮视频 | 国产高清不卡在线 | 国产视频一区二区在线播放 | 国产亚洲免费的视频看 | 国产一级片观看 | 超碰国产在线 | 丁香激情五月婷婷 | 看国产黄色片 | 毛片美女网站 | 天天射天天操天天色 | 成人黄色小视频 | 国产精品美女在线 | 成人精品一区二区三区电影免费 | 日韩欧美一区视频 | 深爱五月激情网 | 天天操夜操 | 国产高清在线永久 | 一区二区三区四区精品视频 | 视频国产一区二区三区 | 国产麻豆果冻传媒在线观看 | 免费网址你懂的 | 中文av在线播放 | 91精品欧美 | 国产五月天婷婷 | 亚洲日本色 | 成人在线免费观看视视频 | 91精品视频免费 | 中文字幕免费在线看 | 日韩高清三区 | 国产视频一级 | 亚洲精品videossex少妇 | 色播五月婷婷 | 国产999精品视频 | 日韩城人在线 | 91免费观看视频在线 | 99久久99久久精品国产片果冰 | 精品美女久久久久久免费 | 国产精品久久久久一区二区三区共 | 国产黄a三级三级 | 99久久精品无免国产免费 | 久久久久亚洲精品国产 | 天天操天天爽天天干 | 亚洲视频在线播放 | 91精品中文字幕 | 精品在线观看一区二区三区 | 808电影 | 久久久久欧美精品999 | 青青河边草免费视频 | 91久久国产综合精品女同国语 | 综合天天 | 久久久久五月 | 蜜桃av人人夜夜澡人人爽 | 日本三级中文字幕在线观看 | 最近中文字幕高清字幕免费mv | 日韩在线网址 | 黄色在线观看免费 | 中文字幕观看av | 久久国产免费看 | 波多野结衣一区二区三区中文字幕 | 亚洲va男人天堂 | 天天操婷婷 | 超碰公开在线观看 | 婷婷激情影院 | 天天做夜夜做 | 日韩精品一区不卡 | 美女免费网视频 | 狠狠天天 | 综合激情网... | 99在线播放 | 日韩免费在线观看 | 国产一区视频在线 | 国产精品福利久久久 | 国产日韩精品一区二区三区 | 97在线精品国自产拍中文 | 欧美另类色图 | 在线观看成人av | 色视频网站免费观看 | 免费在线观看91 | 亚洲成av人片一区二区梦乃 | 国产在线欧美 | 精品一区av | 欧美a级片免费看 | 国产视频2区 | 国产不卡毛片 | 黄色亚洲在线 | aaa黄色毛片 | www免费视频com| 国产精品久久久久久超碰 | 国产裸体无遮挡 | 一级黄色片在线免费观看 | 日日噜噜噜噜夜夜爽亚洲精品 | 在线看成人 | 亚洲黄色一级大片 | 国产99视频在线观看 | 国产手机视频在线播放 | 欧美日韩免费观看一区二区三区 | 成人97人人超碰人人99 | 一级一片免费看 | 天天综合天天综合 | 成人黄色一级视频 | www最近高清中文国语在线观看 | 欧美色噜噜噜 | 一级黄色片毛片 | 视频在线一区二区三区 | 五月天色网站 | 免费观看十分钟 | 色婷婷视频 | 五月婷婷.com | 狠狠干夜夜爽 | 国产精品第一 | 视频直播国产精品 | 国产精品一区免费看8c0m | freejavvideo日本免费 | 久草香蕉在线 | 99色网站| 十八岁免进欧美 | 国产视频1 | 国产精品久久久久久五月尺 | 99亚洲精品视频 | 亚洲国产精品人久久电影 | 久久色在线观看 | 国产美女久久久 | 精品国产综合区久久久久久 | 成人免费观看视频大全 | 欧美日韩国产在线观看 | 精品久久福利 | 亚洲精品色 | www.av免费观看 | 亚洲毛片久久 | 伊人国产在线播放 | 亚洲综合在线播放 | 久久久久久久久久久久久国产精品 | 国产色妞影院wwwxxx | 97超碰在线久草超碰在线观看 | 日韩欧美69 | 91精品免费 | 在线免费观看黄色大片 | 欧美大片aaa | 91探花国产综合在线精品 | 永久免费视频国产 | 天天操夜夜拍 | 四虎8848免费高清在线观看 | 国产淫片免费看 | 六月丁香久久 | 日本久久久久久久久 | 91成品视频 | 中文字幕在线免费看线人 | 国产精品一区在线观看你懂的 | 亚洲永久字幕 | 国产精品一区二区三区在线播放 | 黄色综合 | 97免费在线观看视频 | 婷婷天天色 | 婷婷综合av | 久久久久亚洲精品中文字幕 | 欧美综合色 | 99r在线| 91传媒在线观看 | 99久久婷婷国产综合精品 | 国产人成看黄久久久久久久久 | 911国产精品 | 日本性生活一级片 | 欧美亚洲精品在线观看 | 91最新地址永久入口 | 最新在线你懂的 | 亚洲国产最新 | 久久精品视频中文字幕 | 亚洲免费av网站 | 国产精品自产拍在线观看 | 亚洲va在线va天堂 | 欧美日韩一区二区三区不卡 | 国产在线视频不卡 | 蜜臀av网址| 91精品国产自产在线观看永久 | 97香蕉视频| 久久午夜精品影院一区 | 国产日本在线播放 | 精品国产1区2区3区 国产欧美精品在线观看 | 国产精品日韩高清 | 国产成人亚洲在线观看 | 国产真实精品久久二三区 | 91丨porny丨九色 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 手机看片1042| 久久综合99| 国产黄大片 | 在线观看免费 | 欧美视频日韩视频 | 香蕉视频在线免费 | 91av社区 | 成人高清在线 | 天天做日日做天天爽视频免费 | 黄色在线免费观看网站 | 天天操操 | 欧美精品国产综合久久 | 丁香网婷婷 | 色在线免费 | 黄污视频网站大全 | www.夜夜操 | 在线观看一二三区 | 综合久久影院 | 国产三级香港三韩国三级 | 久久综合久久久 | 国产精品精品视频 | 最新国产精品久久精品 | 国产精品久久久久久久久久久久午 | 色在线亚洲 | 婷婷色亚洲| 欧美日韩一区二区久久 | 亚洲综合视频在线观看 | 97成人在线观看视频 | 日韩色综合 | 久久影院亚洲 | av不卡中文字幕 | 成人小视频在线观看免费 | 国产精品综合久久久久久 | 91网页版在线观看 | 亚洲免费高清视频 | 亚洲国产精品一区二区久久,亚洲午夜 | 欧亚久久| 国产视频精品久久 |