我要让鼠标左键按下时,开始记录鼠标轨迹,当左键放开后,物件可以跟着记录的轨迹移
动
移动的部分都正常,但物件只能移动一步
所以加入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