Re: [問題] 滑鼠鍵擊的控制
看板C_and_CPP (C/C++)作者karta031736 (豬怕龍)時間16年前 (2009/10/13 15:23)推噓2(2推 0噓 16→)留言18則, 2人參與討論串3/3 (看更多)
※ 引述《KanoLoa (卡)》之銘言:
: ※ 引述《karta031736 (豬怕龍)》之銘言:
: : 小弟現在在做畢業專題
: : 寫的是遊戲 遊戲中由左鍵來控制想到達的目的地
: : 用的是WM_LBUTTONDOWN 和 WM_LBUTTONUP
: : 當滑鼠左鍵按下時 設定人物往目的地前進
: : 但是要是滑鼠按下之後就沒放開 在移動游標的話
: : 目的地會一直更換
: : 我想問
: : 我怎樣才可以按下左鍵之後目的地就只有一個
: : 如果想要換目的地就一定要放開滑鼠在按一次
: : 麻煩會的人教教我 感謝~
: bool LButtonReset = true ;
: //設定一個開關:紀錄上次左鍵是否有復原
: //這是你遊戲架構的時脈回圈
: while(…){
: //如果左鍵按下,而且左鍵已經回復
: if(WM_LBUTTONDOWN && LButtonReset)
: {
: //去目標點X,Y
: Go(X,Y);
: //左鍵尚未復原
: LButtonReset = false ;
: }
: //如果左鍵沒有按下,那左鍵復原回到true
: if(!WM_LBUTTONDOWN)
: LButtonReset = true ;
: }
下面是原本的程式
switch (uMsg) {
case WM_LBUTTONDOWN:
ptCursor = CPoint(lParam);
bLBtn = true;
break;
case WM_LBUTTONUP:
ptCursor = CPoint(lParam);
bLBtn = false;
break;
.
.
.
default:
return CD3DWin::WindowProc(uMsg, wParam, lParam);
}
完整描述一下情形
當我左鍵按下時 bLBtn = true 人物就可以走動
因為我設定是人物一直停留在視窗中心 所以人物走動時變換的是下面的地圖
因為我游標沒有動
所以游標在地圖上的位置會一直往人物移動的方向換(大家懂那意思吧...)
而當我左鍵按下時 ptCursor = CPoint(lParam);
就會因為一直抓座標值的關係目的地也一直更換了
現在 問題就是我可以怎麼改 讓他在左鍵按下時只抓一次的值就好了
依上面大哥的寫法 我把它寫成下面這樣
bool bLBtnReset = true;
switch (uMsg) {
case WM_LBUTTONDOWN:
if(bLBtnReset) {
ptCursor = CPoint(lParam);
bLBtn = true;
}
bLBtnReset = false;
break;
case WM_LBUTTONUP:
ptCursor = CPoint(lParam);
bLBtn = false;
bLBtnReset = true;
break;
.
.
.
default:
return CD3DWin::WindowProc(uMsg, wParam, lParam);
}
這樣也是不行 不知道我是哪裡有問題一一"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.109.108
推
10/13 17:45, , 1F
10/13 17:45, 1F
→
10/13 18:12, , 2F
10/13 18:12, 2F
→
10/13 18:13, , 3F
10/13 18:13, 3F
→
10/13 18:13, , 4F
10/13 18:13, 4F
→
10/13 18:14, , 5F
10/13 18:14, 5F
→
10/13 18:14, , 6F
10/13 18:14, 6F
→
10/13 18:15, , 7F
10/13 18:15, 7F
→
10/13 18:15, , 8F
10/13 18:15, 8F
→
10/13 18:16, , 9F
10/13 18:16, 9F
→
10/13 18:17, , 10F
10/13 18:17, 10F
→
10/13 18:17, , 11F
10/13 18:17, 11F
→
10/13 18:17, , 12F
10/13 18:17, 12F
→
10/13 18:18, , 13F
10/13 18:18, 13F
→
10/13 18:19, , 14F
10/13 18:19, 14F
推
10/13 22:00, , 15F
10/13 22:00, 15F
→
10/13 22:01, , 16F
10/13 22:01, 16F
→
10/14 02:22, , 17F
10/14 02:22, 17F
→
10/14 02:23, , 18F
10/14 02:23, 18F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章