一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

想學(xué)習(xí)C/C 來(lái)寫游戲程序么?大神告訴你游戲框架怎么寫

 豫龍晏子 2017-02-04

對(duì)這方面感興趣或者想學(xué)習(xí)C/C++可以加群:558502932,有問(wèn)題可以在群內(nèi)大家一起交流學(xué)習(xí)。

對(duì)于正在學(xué)習(xí)C/C++的同學(xué)或者朋友來(lái)說(shuō),如何用C/C++寫程序都有些模糊的概念,畢竟如果只是學(xué)習(xí)C/C++的理論知識(shí),很多人甚至都不知道C/C++學(xué)了能干嘛。

有很多人都想去往游戲方面發(fā)展,畢竟能寫出一個(gè)游戲供大家學(xué)習(xí)是一件特別自豪的事情。但是要寫出一個(gè)游戲,不是那么容易的事情,今天我就來(lái)分享一下,我們講師寫過(guò)的一個(gè)游戲框架,希望能對(duì)你們有所幫助。

想學(xué)習(xí)C/C++來(lái)寫游戲程序么?大神告訴你游戲框架怎么寫

對(duì)這方面感興趣或者想學(xué)習(xí)C/C++可以加群:558502932

代碼如下:

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//

// WindowsFrame.cpp: This is a Windows-Game Forms

// Author: MOYG

// Date: Dec-19-2015

// Version 1.0

//

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// INCLUDEs ////////////////////////////////////////////////////////////////////////////////////////////////////

#include 'windows.h'

#include 'time.h“

// DEFINES ////////////////////////////////////////////////////////////////////////////////////////////////////

#define WINDOW_WIDTH 800 //Window width of a macro definition

#define WINDOW_HEIGHT 600 //Window height of a macro definition

#define WINDOW_TITLE L'【潭州教育】程序核心框架' //The window title of marco definition

// GLOBALS /////////////////////////////////////////////////////////////////////////////////////////////////////

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam ); //The process window function

// WINMAIN /////////////////////////////////////////////////////////////////////////////////////////////////////

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)

{

//【1】 窗口創(chuàng)建四部曲之一:開始設(shè)計(jì)一個(gè)完整的窗口類

//【First】 One of the windows to create tetralogy:Start to design a whole window calss

WNDCLASSEX wndClass = { 0 }; //With WNDCALSSEX definition of a window class

wndClass.cbSize = sizeof(WNDCLASSEX); //Number of bytes to set up the structure size

wndClass.style = CS_HREDRAW | CS_VREDRAW; //Set the window style

wndClass.lpfnWndProc = WndProc; //Set the pointer to the window procedure function

wndClass.cbClsExtra = 0; //Additional memory window class

wndClass.cbWndExtra = 0; //Additional memory window

wndClass.hInstance = hInstance; //Specified contains the window handle to an instance of the process of program

//Local load custom ico

wndClass.hIcon = (HICON)::LoadImage(NULL, L'icon.ico', IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_LOADFROMFILE);

wndClass.hCursor = LoadCursor(NULL, IDC_ARROW); //Specifies the window handle of the cursor

wndClass.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH); //The handle of Brush

wndClass.lpszMenuName = NULL; //Specify the menu resource

wndClass.lpszClassName = L'ForTheDreamOfGameDevelop';

//【2】窗口創(chuàng)建四部曲之二:注冊(cè)窗口類

//【Second】 Second of the window to create tetralogy: RegisterClass

if (!RegisterClassEx(&wndClass))

return -1;

//【3】窗口創(chuàng)建四部曲之三:正式創(chuàng)建窗口

//【Third】 Third of the window to create tetralogy:Formal creation window

HWND hwnd = CreateWindow(L'ForTheDreamOfGameDevelop',

WINDOW_TITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,

WINDOW_WIDTH, WINDOW_HEIGHT, NULL, NULL, hInstance, NULL);

//【4】窗口創(chuàng)建四部曲之四:窗口移動(dòng)、顯示與更新

//【Four】 Fourth of the window to create tetralogy:Windows moblie,display and update

MoveWindow(hwnd, 250, 80, WINDOW_WIDTH, WINDOW_HEIGHT, true); //In the left corner of the window(250,70);

ShowWindow(hwnd,nShowCmd); //Display window

UpdateWindow(hwnd); //Update window

//【5】消息循環(huán)過(guò)程

//windows information rotation

MSG msg = { 0 }; //init msg

while (msg.message != WM_QUIT)

{

//查看應(yīng)用程序消息隊(duì)列,有消息時(shí)將隊(duì)列中消息派發(fā)出去

if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE))

{

TranslateMessage(&msg); //將虛擬消息轉(zhuǎn)換為字符信息

DispatchMessage(&msg); //分發(fā)一個(gè)消息給窗口程序

}

}

//【6】窗口類的注銷

//【Sixth】 logout window class

UnregisterClass(L'ForDearmOfGameClassDevelop', wndClass.hInstance);

return 0;

}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

switch (message)

{

case WM_PAINT: //重繪消息

ValidateRect(hwnd, NULL); //更新客戶的顯示

break;

case WM_KEYDOWN: //若是鍵盤按下任意鍵消息

if (wParam == VK_ESCAPE) //如果按下的是ESC鍵

DestroyWindow(hwnd); //銷毀窗口,并發(fā)送一條WM_DESTORY消息

break;

case WM_DESTROY: //若是窗口銷毀消息

PostQuitMessage(0); //像系統(tǒng)表示有個(gè)線程有終止請(qǐng)求,用來(lái)響應(yīng)WM_DESTROY消息

break;

default:

return DefWindowProc(hwnd, message, wParam, lParam); //調(diào)用默認(rèn)的窗口過(guò)程

}

return 0;

}

以上,就是游戲框架設(shè)計(jì)的源程序,希望對(duì)你們有所幫助,當(dāng)然,你們?nèi)绻信d趣可以運(yùn)行試試,如果有什么問(wèn)題,可以加群:558502932,把問(wèn)題發(fā)到群里,或者找群內(nèi)管理問(wèn)一下,會(huì)幫你解答的。

希望你們學(xué)習(xí)C/C++都能學(xué)有所成。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧美日韩国产自拍亚洲| 国产精品香蕉在线的人| 国产日韩在线一二三区| 久久偷拍视频免费观看| 国产午夜福利片在线观看| 欧美不卡高清一区二区三区| 亚洲国产精品无遮挡羞羞| 91日韩在线视频观看| 久久免费精品拍拍一区二区| 人妻熟女中文字幕在线| 精品国产亚洲av久一区二区三区 | 久久精品国产一区久久久| 中文字幕乱子论一区二区三区| 色婷婷在线精品国自产拍| 日本高清加勒比免费在线| 尹人大香蕉中文在线播放| 欧美不卡一区二区在线视频| 99亚洲综合精品成人网色播| 欧美大胆美女a级视频| 国产一区二区不卡在线播放| 欧美黑人在线精品极品| 免费性欧美重口味黄色| 欧美精品激情视频一区| 91麻豆精品欧美视频| 久久福利视频视频一区二区 | 亚洲另类女同一二三区| 精品久久久一区二区三| 欧美成人国产精品高清| 小黄片大全欧美一区二区| 亚洲中文字幕一区三区| 国产精品美女午夜视频| 草草草草在线观看视频| 国产熟女一区二区精品视频| 99久久精品午夜一区二区| 日韩欧美中文字幕人妻| 亚洲国产成人av毛片国产| 好吊视频有精品永久免费| 国产a天堂一区二区专区| 欧美不卡高清一区二区三区| 亚洲中文字幕在线观看黑人| 久久精品国产在热久久|