作者SecondRun (雨夜琴聲)
看板GameDesign
標題[程式] 抓取鍵盤輸入
時間Thu Oct 26 00:10:29 2017
之前學校在教XNA
判斷key按下那一瞬間的方式是判斷
(現在是否按下key && 前一幀跟現在這幀的鍵盤狀態不相同)
現在想用C++做一樣的效果可是出現問題
測試內容如下
BYTE* p1 = new BYTE[256];
BYTE* p2 = new BYTE[256];
while (1) {
*p2 = *p1;
if (!GetKeyboardState(p1)) cout << "get key fail" << endl;
if (*p1 != *p2) {
cout << "value不同" << endl;
}
}
GetKeyboardState(p1)看起來是成功的
可是p1裡面的值卻一直沒有動
請問是為什麼呢@_@
--
(づ′・ω・)づ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.236.24.16
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1508947836.A.043.html
※ 編輯: SecondRun (182.236.24.16), 10/26/2017 00:18:10
1F:推 cjcat2266: memcpy(p2, p1, 256); 10/26 00:21
2F:→ cjcat2266: *p2 = *p1; 只會複製 p1[0] 10/26 00:22
3F:→ cjcat2266: 同理,比較值要用memcmp 10/26 00:22
4F:→ SecondRun: 了解@_@ 10/26 00:23
5F:推 cjcat2266: 話說XNA不是2013年就被微軟放棄了嗎? 怎麼學校還在教? 10/26 00:53
6F:→ SecondRun: 我們專門學校比較奇妙 10/26 00:55
7F:推 cjcat2266: 不必花太多時間在XNA上,都已經沒有官方維護4年了 10/26 01:06
8F:→ cjcat2266: 不過要學概念或針對舊硬體開發,XNA還是稍微有點用就是 10/26 01:09
9F:→ SecondRun: 對啊就是學點概念 現在自學openGL有點爆炸中 10/26 01:21
10F:推 Bencrie: 還好吧 FNA 還有在更新說 10/26 02:15
11F:推 cjcat2266: 是沒錯啦,不過我對有微軟等級的維護比較安心 10/26 02:57
12F:→ cjcat2266: 而FNA主要是一個人在維護,我個人覺得比較不安 10/26 02:57
13F:→ SecondRun: FNA?? 第一次聽說 10/26 07:56
14F:推 cjcat2266: 就是XNA,微軟停止維護之後有外人自己重新實作XNA 4.0 10/26 08:10
15F:推 johnny94: monogame 阿,不少遊戲都是用它做的 10/26 13:34