日期:2014-05-17  浏览次数:20872 次

c#请教 怎样才能让角色移动到鼠标的位置而不是闪过去
本帖最后由 hu314973241 于 2013-07-18 00:52:52 编辑

怎样用向量计算XY轴 让pictureBox控件的图片“走”到鼠标点的位置,楼主初学者,只能做到让图片“闪”到鼠标的XY轴上,研究了好久但看不明白向量,所以求指教...
C# 向量

------解决方案--------------------
你要计算当前位置到你鼠标位置的路径
然后根据路径,一步一步移动而不是直接修改图片位置

假设当前位置为(0,0),鼠标位置为(10,0)
计算的路径由以下点组成(0,0),(1,0),(2,0)...(10,0)
那移动的过程就是先设置图片位置到(1,0),停1秒,再到(2,0),停1秒,再到(3,0)...最终到(10,0)
还有要控制路径中点的密度,如果密度太稀,那也是一闪一闪的跳到目标位置的。

至于闪烁,上面有人说了,双缓冲解决。
停顿时间自己调整下,调整到人看起来比较连续的又能看清的状态就好了。
还有,这个移动的时间可能会比较长导致界面卡,可能需要使用线程来解决。
不过这些都是后话,你先把基础版本搞出来,再不断改进就好了。
------解决方案--------------------
楼主其实你已经实现了啊!!