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

孔雀開發(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>
            亚洲综合国产| 欧美va亚洲va日韩∨a综合色| 欧美一级电影久久| 亚洲欧美日韩一区二区| 亚洲免费在线看| 午夜天堂精品久久久久| 久久9热精品视频| 久久婷婷国产综合精品青草| 欧美1区2区| 日韩一级黄色大片| 亚洲午夜久久久久久久久电影网| 亚洲午夜在线视频| 亚洲一区二区四区| 久久精品一区二区三区不卡牛牛| 久久久精品日韩| 91久久一区二区| 亚洲欧美另类综合偷拍| 毛片基地黄久久久久久天堂| 欧美视频一区二区三区在线观看 | 久热国产精品| 亚洲区欧美区| 欧美亚洲自偷自偷| 欧美风情在线| 国产三级精品在线不卡| 99ri日韩精品视频| 久久久久久久网| 夜夜嗨一区二区三区| 久久亚洲私人国产精品va媚药| 国产精品99一区| 亚洲人体1000| 久久亚洲欧洲| 一区在线影院| 亚洲免费视频一区二区| 欧美韩日视频| 久久精品人人做人人爽电影蜜月| 欧美国产日本高清在线| 黑丝一区二区| 欧美亚洲免费电影| 99热免费精品在线观看| 欧美a一区二区| 激情综合久久| 久久久久久欧美| 午夜精品在线观看| 国产精品一区二区在线观看不卡| 日韩视频在线免费| 亚洲国产老妈| 美女精品网站| 亚洲国产欧洲综合997久久| 浪潮色综合久久天堂| 欧美在线视频a| 国产亚洲欧洲997久久综合| 久久99伊人| 欧美一区日韩一区| 国产一区二区三区视频在线观看| 欧美一区二区在线观看| 午夜免费日韩视频| 国产性色一区二区| 久久久久网址| 午夜久久美女| 欧美人与禽性xxxxx杂性| 国产亚洲精品久| 美女主播一区| 亚洲欧美一区二区三区在线 | 欧美主播一区二区三区美女 久久精品人| 亚洲国产美女| 免费在线看一区| 亚洲美女视频在线观看| 日韩视频免费大全中文字幕| 欧美日韩精品一区二区在线播放| 中文精品一区二区三区| 一区二区三区欧美激情| 国产精品中文字幕在线观看| 久久久久久久网站| 男人的天堂亚洲在线| 一区二区三区久久| 亚洲一区二区三区涩| 国产一区二区三区自拍| 欧美激情精品久久久久久黑人| 欧美高清视频一区二区| 亚洲一区精彩视频| 久久成人18免费观看| 亚洲三级影片| 亚洲综合视频一区| 欲色影视综合吧| 亚洲精品国产系列| 国产亚洲精品久久久久久| 欧美大片在线观看一区| 国产精品xxx在线观看www| 久久视频国产精品免费视频在线| 欧美成人精品不卡视频在线观看| 亚洲淫片在线视频| 另类亚洲自拍| 午夜视频在线观看一区| 久久综合给合| 久久av一区二区| 欧美劲爆第一页| 久久偷看各类wc女厕嘘嘘偷窃| 欧美日韩国产经典色站一区二区三区| 午夜伦欧美伦电影理论片| 久久中文字幕导航| 欧美一区永久视频免费观看| 免费视频最近日韩| 久久精品一区二区国产| 欧美日韩国语| 欧美二区视频| 国产一区自拍视频| 亚洲一区二区三区四区五区黄| 亚洲精品小视频| 久久久久国产精品一区三寸| 亚洲一区在线播放| 欧美日韩二区三区| 亚洲国产精品毛片| 一区二区三区在线免费观看| 亚洲欧美日韩国产成人精品影院| 在线中文字幕日韩| 欧美激情在线| 亚洲高清久久久| 亚洲夫妻自拍| 久久综合网络一区二区| 久久免费一区| 国产亚洲精品久久飘花| 亚洲欧美日本视频在线观看| 亚洲一二三区精品| 欧美日韩精品一本二本三本| 99国产精品久久久| 亚洲美女在线视频| 亚洲日本中文| 麻豆精品传媒视频| 牛人盗摄一区二区三区视频| 韩国一区二区三区美女美女秀| 亚洲永久免费av| 香蕉久久国产| 国产精品午夜电影| 亚洲性视频网站| 午夜精品一区二区三区电影天堂| 国产精品成人观看视频国产奇米| 99视频一区二区| 亚洲欧美99| 国产一区二区三区久久悠悠色av | 亚洲精品人人| 在线亚洲免费| 国产精品久久久久9999| 亚洲欧美韩国| 久久噜噜噜精品国产亚洲综合| 国产一区二区黄| 久久久精品一区| 亚洲福利小视频| 亚洲神马久久| 国产一区二区成人久久免费影院| 久久久久久久成人| 亚洲国产视频一区| 亚洲免费在线观看| 黄色成人91| 欧美日韩aaaaa| 午夜在线观看免费一区| 欧美高清hd18日本| 亚洲专区欧美专区| 黄色工厂这里只有精品| 欧美连裤袜在线视频| 亚洲欧美日韩一区二区三区在线观看| 老妇喷水一区二区三区| 一区二区三区国产盗摄| 国产真实乱子伦精品视频| 欧美精品成人| 久久国产精品久久国产精品| 亚洲国产影院| 久久精品国产69国产精品亚洲| 亚洲国产精品久久91精品| 国产精品精品视频| 麻豆久久婷婷| 小处雏高清一区二区三区| 亚洲国产一区在线观看| 久久久中精品2020中文| 国产精品99久久久久久久久久久久| 国内精品久久久久久| 欧美日韩精品一区二区在线播放| 欧美中文字幕视频在线观看| 亚洲精品在线免费| 欧美91福利在线观看| 欧美一区二区黄| 亚洲夜间福利| 日韩亚洲欧美高清| 激情综合激情| 国产午夜精品全部视频播放 | 久久久久九九视频| 亚洲一区在线播放| 亚洲精品一区二区三区樱花| 麻豆久久婷婷| 久久精品91久久久久久再现| 亚洲一区二区三区在线看| 亚洲国产日韩欧美在线图片| 国产午夜精品全部视频在线播放| 欧美午夜无遮挡| 欧美美女bb生活片| 农村妇女精品| 久久99在线观看| 午夜视频久久久| 亚洲欧美综合v| 先锋亚洲精品| 欧美在线视频网站|