我要讓滑鼠左鍵按下時,開始記錄滑鼠軌跡,當左鍵放開後,物件可以跟著記錄的軌跡移
動
移動的部分都正常,但物件只能移動一步
所以加入if,當移動一段距離後,才會做第二次記錄,但一執行就直接當機
也有試著用暫停機制,每隔半秒紀錄一次,但一樣一執行就直接當機
請問是程式碼哪邊有問題嗎?新手發問請鞭,謝謝大家
http://i.imgur.com/9HlVvHV.jpg
作者:
LayerZ (無法如願)
2015-05-05 13:56:00while(true)?而且裡面沒break;
作者:
LayerZ (無法如願)
2015-05-05 13:58:00應該是溢位先當了,沒溢位才輪到無窮當XD
要先更正觀念 for (int i = 0; i < 10; i++) { ++x; }不會讓 x "漸漸"增加10次,而是"瞬間"增加10次
while(true) 沒break條件 直接炸另外移動的問題就像上面cj講的 但我覺得有更好的說法是那個for迴圈是在這個'Update'做的你要讓物體看起來像移動 必須不同的'Update'在不同位置(一個Update可以視為一個frame)
作者: jellyice (寒若冬) 2015-05-07 11:12:00
Update本身就可以當作一個while(true)來看,它是每個frame會被呼叫一次的,所以不需要在Update當中跑無限迴圈。否則程式一直停留在while(check)區段裡面跑,根本出不去這一次的Update,你的程式就沒辦法運作了,它既不會更新畫面,也不會更新滑鼠位置,因為它要離開Update才能抓到滑鼠的移動訊號
作者:
LayerZ (無法如願)
2015-05-07 12:21:00推上面都解釋很清楚了,你把while(check)拔掉這程式應該就能運作了只會動一次的原因是 i,j宣告位置,然後注意array爆炸就好先改到可以動再來研究為什麼吧XD