青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

孔雀開發(fā)小屋

專注并致力于手機客戶端開發(fā)
<2011年1月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

統(tǒng)計

  • 隨筆 - 103
  • 文章 - 0
  • 評論 - 251
  • 引用 - 0

常用鏈接

留言簿(38)

隨筆分類

隨筆檔案

關(guān)注的博客

朋友的博客

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

DirectInput入門
我想在博客里記錄一些學(xué)習(xí)DirectX的筆記。這是第一篇。
一直以來對于DirectX的一套沒有花時間去學(xué)習(xí),3D圖形api也是學(xué)習(xí)了OpenGL,相當(dāng)長的一段時間里,總是認(rèn)為自己不會去接觸這些。到公司寫了快一年的游戲邏輯了,才明白邏輯固然很重要,但是寫邏輯寫一年和寫兩年的區(qū)別不大。做游戲,做網(wǎng)游不就那幾個大塊么,圖形,網(wǎng)絡(luò),數(shù)據(jù)庫,io并發(fā)。寫邏輯是要寫的,但終究需要在某一領(lǐng)域有所專長,才是正道。

言歸正傳吧。

DirectInput是一個不依賴硬件的虛擬輸入系統(tǒng),是建立于硬件抽象層(HAL)之上的接口。

微軟的DirectX一套均采用COM開發(fā),所以無論DDraw還是DirectInput的構(gòu)建、設(shè)置、使用,代碼都相差無多。基本步驟都是建立xxx接口對象,建立xxx設(shè)備,設(shè)置xxx相關(guān)屬性(參數(shù)),使用之。

我們要在應(yīng)用程序中使用DirectInput,分以下三步走。
1)初始化
2)獲取設(shè)備狀態(tài)
3)根據(jù)設(shè)備狀態(tài),進(jìn)行你的自定義處理。

我這里給出一個簡單的例子。該例子就是在標(biāo)準(zhǔn)的windows應(yīng)用程序中使用DirectInput所需的步驟。
首先需要包含必要的宏定義和頭文件
1 #define INITGUID
2 #include <objbase.h>
3 #include <dinput.h>

相關(guān)的全部變量:
LPDIRECTINPUT       g_dinput = NULL;
LPDIRECTINPUTDEVICE g_Keyboard 
= NULL;


建立初始化函數(shù):

 1 BOOL InitDirectInput(HINSTANCE hInstance)
 2 {
 3     // 創(chuàng)建DirectInput對象
 4     if (DI_OK != DirectInputCreate(hInst, DIRECTINPUT_VERSION, &g_dinput, NULL))
 5         return FALSE;
 6 
 7     // 創(chuàng)建鍵盤設(shè)備
 8     if (DI_OK != g_dinput->CreateDevice(GUID_SysKeyboard, &g_Keyboard, NULL))
 9         return FALSE;
10 
11     // 設(shè)置協(xié)作等級
12     if (DI_OK != g_Keyboard->SetCooperativeLevel(g_hWnd, DISCL_NONEXCLUSIVE|DISCL_BACKGROUND))
13         return FALSE;
14 
15     // 設(shè)置數(shù)據(jù)格式
16     if (DI_OK != g_Keyboard->SetDataFormat(&c_dfDIKeyboard))
17         return FALSE;
18 
19     // 獲取設(shè)備
20     if (DI_OK != g_Keyboard->Acquire())
21         return FALSE;
22 
23     return TRUE;
24 }

在哪里使用呢?我們在windows消息循環(huán)里面,處理完消息之后:
 1     unsigned char keyboard_state[256];
 2     // Main message loop:
 3     while (GetMessage(&msg, NULL, 00)) 
 4     {
 5         if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
 6         {
 7             TranslateMessage(&msg);
 8             DispatchMessage(&msg);
 9         }
10 
11         g_Keyboard->GetDeviceState(256, (LPVOID)keyboard_state);
12         if (keyboard_state[DIK_UP])
13         {
14             ::MessageBox(NULL, "up""msg", MB_OK);
15         }
16     }

基本就是這些了。

我這里主要是作為學(xué)習(xí)筆記留在blog上,說的不清楚或者不專業(yè)或者其他原因讓你沒有看明白的,請看
《windows游戲編程大師技巧》一書。






posted on 2010-03-30 23:55 孔雀 閱讀(2473) 評論(7)  編輯 收藏 引用 所屬分類: C/C++

評論

# re: DirectInput入門 2010-03-31 08:17 Code Knight

其實寫邏輯是很考驗設(shè)計能力的,到現(xiàn)在為止我還沒看到過非常優(yōu)雅的邏輯代碼,大篇幅為實現(xiàn)功能而寫的代碼凌亂不堪,沒有美感,一般來說沒有專職寫過兩年以上邏輯的程序員都意識不到自己寫的代碼有多么亂,不是沒有設(shè)計,就是設(shè)計不好。
  回復(fù)  更多評論    

# re: DirectInput入門 2010-03-31 09:26 溪流

@Code Knight
是啊是啊,整個工程老是有一部分地方是亂的,這部分正是邏輯
  回復(fù)  更多評論    

# re: DirectInput入門 2010-03-31 09:27 溪流

跟樓主學(xué)習(xí)dx~
  回復(fù)  更多評論    

# re: DirectInput入門 2010-03-31 13:29 普派官方網(wǎng)站

是見對方是你嗎愛的
  回復(fù)  更多評論    

# re: DirectInput入門 2010-04-02 14:44 好文章

挺好的,正好對這方面有興趣
  回復(fù)  更多評論    

# re: DirectInput入門 2010-04-06 14:07 陳排

真的開始弄DX了么??
  回復(fù)  更多評論    

# re: DirectInput入門[未登錄] 2010-10-14 15:56 ccsdu2009

支持你阿 等你弄好了 給我一個dinput插件 我?guī)投ǖ轿业挠螒蛞嬷腥グ?哈哈
  回復(fù)  更多評論    
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产精品女人久久久| 国模叶桐国产精品一区| 亚洲精选在线| 亚洲免费电影在线| 亚洲少妇在线| 欧美一区二区三区在线免费观看| 欧美一级久久久久久久大片| 久久久久久伊人| 欧美日韩精品中文字幕| 国产女人18毛片水18精品| 精品动漫一区| 在线中文字幕一区| 久久精品免费看| 亚洲成色www8888| 日韩一级黄色大片| 欧美综合国产| 欧美日韩极品在线观看一区| 国产亚洲成精品久久| 亚洲日本va午夜在线影院| 午夜精品一区二区三区四区| 男女精品视频| 亚洲视频一区二区在线观看| 久久久人成影片一区二区三区观看 | 欧美影片第一页| 欧美护士18xxxxhd| 国产亚洲成人一区| 一本色道久久综合狠狠躁篇怎么玩| 亚洲欧美日韩爽爽影院| 亚洲国产综合91精品麻豆| 午夜精品福利视频| 欧美日韩午夜精品| 亚洲电影自拍| 久久aⅴ国产紧身牛仔裤| 亚洲国产欧美一区| 久久久激情视频| 国产精品素人视频| 一区二区三区国产精华| 欧美大片va欧美在线播放| 亚洲视频综合| 欧美日韩亚洲综合| 亚洲靠逼com| 欧美成人精品高清在线播放| 欧美一级二区| 国产日韩精品在线| 亚洲欧美日韩国产综合| 亚洲美女中出| 欧美日韩精品久久| 亚洲午夜视频| aa成人免费视频| 亚洲理伦在线| 欧美高清视频www夜色资源网| 宅男噜噜噜66一区二区| 久久伊人精品天天| 国产一区二区精品在线观看| 亚洲一区二区三区激情| 亚洲人成7777| 久久国产精品久久久久久电车| 欧美吻胸吃奶大尺度电影| 亚洲精品乱码久久久久久久久| 久久久久久精| 久久国产精品久久精品国产| 国产亚洲欧美日韩精品| 欧美一区二区三区视频在线观看 | 一区二区精品在线| 欧美日韩国产成人在线91| 亚洲另类在线一区| 亚洲精品1区2区| 欧美精品在线观看播放| 一本色道久久88综合亚洲精品ⅰ | 性欧美videos另类喷潮| 一区二区不卡在线视频 午夜欧美不卡在| 欧美激情 亚洲a∨综合| 亚洲作爱视频| 亚洲香蕉成视频在线观看| 国产精品自拍网站| 久久阴道视频| 欧美国产第一页| 亚洲私拍自拍| 亚洲欧美中文日韩v在线观看| 国内精品久久久久久| 欧美mv日韩mv亚洲| 欧美日韩亚洲一区| 久久精品视频免费| 蜜臀久久久99精品久久久久久| 亚洲免费av网站| 亚洲男女毛片无遮挡| …久久精品99久久香蕉国产| 亚洲精品一区二区三区蜜桃久| 国产精品日韩专区| 欧美成人午夜剧场免费观看| 欧美日韩1区| 久久久精品2019中文字幕神马| 美女视频黄 久久| 亚洲男女自偷自拍图片另类| 久久爱www久久做| 中国女人久久久| 久久久精品日韩欧美| 亚洲小说春色综合另类电影| 久久久久久穴| 欧美一区二区视频网站| 欧美阿v一级看视频| 欧美国产亚洲另类动漫| 亚洲一区二区在| 久久国产欧美日韩精品| 亚洲精品视频在线播放| 亚洲一区二区三区高清| 最近看过的日韩成人| 午夜精品视频一区| 一本色道久久综合亚洲精品不卡| 香蕉国产精品偷在线观看不卡 | 欧美伊人久久久久久午夜久久久久| 久久综合九色综合久99| 午夜天堂精品久久久久| 欧美韩日一区二区| 久久看片网站| 国产精品入口| 日韩视频在线永久播放| 亚洲国产美国国产综合一区二区| 欧美一区二区三区免费大片| 一二三区精品福利视频| 免费看黄裸体一级大秀欧美| 久久久精品性| 国产亚洲精品久久飘花| 亚洲一区不卡| 一本大道久久精品懂色aⅴ| 久久综合伊人77777尤物| 久久久精品2019中文字幕神马| 国产麻豆视频精品| 亚洲一区二区精品在线观看| 亚洲一区二区免费视频| 国产精品v欧美精品v日韩精品| 亚洲精品小视频在线观看| 日韩手机在线导航| 欧美精品福利视频| 亚洲精品社区| 亚洲性视频网站| 国产精品乱码人人做人人爱| 制服丝袜亚洲播放| 欧美亚洲日本网站| 国产视频在线观看一区二区三区| 亚洲一区二区综合| 欧美在线地址| 国模私拍一区二区三区| 久久嫩草精品久久久精品一| 欧美高清视频免费观看| 亚洲精品视频在线播放| 欧美日韩中文精品| 亚洲一区二区免费| 久久久久久9| 亚洲国产成人精品久久| 欧美激情综合色| 国产精品99久久99久久久二8 | 亚洲专区在线视频| 国产精品一区二区三区久久久| 欧美亚洲视频在线观看| 免费日韩视频| 一本色道久久综合亚洲精品高清| 国产精品久久久久一区二区三区| 午夜老司机精品| 欧美电影打屁股sp| 中国成人亚色综合网站| 国产婷婷色一区二区三区| 亚洲一级特黄| 欧美中日韩免费视频| 亚洲激情网站| 欧美理论在线播放| 亚洲欧美日本日韩| 欧美**人妖| 亚洲欧美一区二区三区久久 | 国产一区二区久久| 欧美黑人一区二区三区| 亚洲欧美www| 亚洲国产精品电影| 欧美一区二区三区日韩视频| 亚洲第一精品福利| 国产精品久久久久av免费| 久久噜噜亚洲综合| 宅男精品导航| 亚洲国产乱码最新视频| 久久大香伊蕉在人线观看热2| 亚洲精品视频在线| 国产视频在线观看一区 | 久久久免费av| 亚洲社区在线观看| 亚洲高清在线| 久久久av水蜜桃| 亚洲综合色在线| 亚洲精品一区二区三区福利| 国产真实乱子伦精品视频| 欧美视频在线观看| 嫩模写真一区二区三区三州| 午夜精品美女久久久久av福利| 亚洲免费激情| 亚洲风情亚aⅴ在线发布| 久久久久久久久蜜桃| 午夜久久久久久| 亚洲午夜精品久久久久久app| 亚洲清纯自拍| 亚洲国产精品久久久| 一区精品在线|