cs程式碼問題,紀錄滑鼠軌跡後物件移動

看板GameDesign作者 (老王阿泉)時間9年前 (2015/05/05 13:39), 編輯推噓5(5021)
留言26則, 6人參與, 最新討論串1/1
我要讓滑鼠左鍵按下時,開始記錄滑鼠軌跡,當左鍵放開後,物件可以跟著記錄的軌跡移 動 移動的部分都正常,但物件只能移動一步 所以加入if,當移動一段距離後,才會做第二次記錄,但一執行就直接當機 也有試著用暫停機制,每隔半秒紀錄一次,但一樣一執行就直接當機 請問是程式碼哪邊有問題嗎?新手發問請鞭,謝謝大家 http://i.imgur.com/9HlVvHV.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.127.233.88 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1430804371.A.63E.html

05/05 13:56, , 1F
while(true)?
05/05 13:56, 1F

05/05 13:56, , 2F
而且裡面沒break;
05/05 13:56, 2F

05/05 13:56, , 3F
我猜陣列溢位
05/05 13:56, 3F

05/05 13:57, , 4F
不對 應該是無窮迴圈 跳不出來
05/05 13:57, 4F

05/05 13:58, , 5F
應該是溢位先當了,沒溢位才輪到無窮當XD
05/05 13:58, 5F

05/05 14:16, , 6F
要先更正觀念 for (int i = 0; i < 10; i++) { ++x; }
05/05 14:16, 6F

05/05 14:17, , 7F
不會讓 x "漸漸"增加10次,而是"瞬間"增加10次
05/05 14:17, 7F

05/05 14:20, , 8F
while(true) 沒break條件 直接炸
05/05 14:20, 8F

05/05 14:23, , 9F
另外移動的問題就像上面cj講的 但我覺得有更好的說法是
05/05 14:23, 9F

05/05 14:23, , 10F
那個for迴圈是在這個'Update'做的
05/05 14:23, 10F

05/05 14:24, , 11F
你要讓物體看起來像移動 必須不同的'Update'在不同位置
05/05 14:24, 11F

05/05 14:25, , 12F
(一個Update可以視為一個frame)
05/05 14:25, 12F

05/05 14:53, , 13F
感謝樓上澄清,不想推太多行文XD
05/05 14:53, 13F

05/05 15:01, , 14F
XDD 不會
05/05 15:01, 14F

05/05 18:00, , 15F
先弄清楚Update跟deltaTime的關係
05/05 18:00, 15F

05/07 11:12, , 16F
Update本身就可以當作一個while(true)來看,它是每個
05/07 11:12, 16F

05/07 11:12, , 17F
frame會被呼叫一次的,所以不需要在Update當中跑無限迴
05/07 11:12, 17F

05/07 11:13, , 18F
圈。否則程式一直停留在while(check)區段裡面跑,根本出
05/07 11:13, 18F

05/07 11:14, , 19F
不去這一次的Update,你的程式就沒辦法運作了,它既不會
05/07 11:14, 19F

05/07 11:14, , 20F
更新畫面,也不會更新滑鼠位置,因為它要離開Update才能
05/07 11:14, 20F

05/07 11:15, , 21F
抓到滑鼠的移動訊號
05/07 11:15, 21F

05/07 12:21, , 22F
推上面都解釋很清楚了,你把while(check)拔掉這程式應該
05/07 12:21, 22F

05/07 12:21, , 23F
就能運作了
05/07 12:21, 23F

05/07 12:22, , 24F
只會動一次的原因是 i,j宣告位置,然後注意array爆炸就好
05/07 12:22, 24F

05/07 12:22, , 25F
先改到可以動再來研究為什麼吧XD
05/07 12:22, 25F

05/07 14:46, , 26F
"變數的生命周期"y
05/07 14:46, 26F
文章代碼(AID): #1LI5UJO- (GameDesign)