cs程式码问题,纪录鼠标轨迹后物件移动

楼主: tpps88206 (老王阿泉)   2015-05-05 13:39:29
我要让鼠标左键按下时,开始记录鼠标轨迹,当左键放开后,物件可以跟着记录的轨迹移

移动的部分都正常,但物件只能移动一步
所以加入if,当移动一段距离后,才会做第二次记录,但一执行就直接当机
也有试着用暂停机制,每隔半秒纪录一次,但一样一执行就直接当机
请问是程式码哪边有问题吗?新手发问请鞭,谢谢大家
http://i.imgur.com/9HlVvHV.jpg
作者: LayerZ (無法如願)   2015-05-05 13:56:00
while(true)?而且里面没break;
作者: cowbaying (是在靠北喔)   2015-05-05 13:56:00
我猜阵列溢位不对 应该是无穷循环 跳不出来
作者: LayerZ (無法如願)   2015-05-05 13:58:00
应该是溢位先当了,没溢位才轮到无穷当XD
作者: cjcat2266 (CJ Cat)   2015-05-05 14:16:00
要先更正观念 for (int i = 0; i < 10; i++) { ++x; }不会让 x "渐渐"增加10次,而是"瞬间"增加10次
作者: dreamnook (亚龙)   2015-05-05 14:20:00
while(true) 没break条件 直接炸另外移动的问题就像上面cj讲的 但我觉得有更好的说法是那个for循环是在这个'Update'做的你要让物体看起来像移动 必须不同的'Update'在不同位置(一个Update可以视为一个frame)
作者: cjcat2266 (CJ Cat)   2015-05-05 14:53:00
感谢楼上澄清,不想推太多行文XD
作者: dreamnook (亚龙)   2015-05-05 15:01:00
XDD 不会
作者: SaxPenguin (平果)   2015-05-05 18:00:00
先弄清楚Update跟deltaTime的关系
作者: 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

Links booklink

Contact Us: admin [ a t ] ucptt.com