如果一个人物在客户端行走,发送哪些数据给服务器,而服务器又要怎样使其他客户看到这个人在行走?有人说传递鼠标点击的方向值,或者是每走一个地块发一个坐标,而且都有服务器和客户端校验的问题。
希望做网络游戏的人共同商讨。
希望做网络游戏的人共同商讨。
解决方案 »
- 不规范的html文件打印,用IWebBrowser2那一套,有什么办法?
- 求助,等了很久都没有高手能给出方案的n个复杂问题,看来有些难度
- 如何使用ScrollBar,为什么拖动不了?
- 在线请教:在MFC程序中能否调用一个DOS程序???急急呀,谢谢啦
- 请问如何编程实现word文档和pdf(非扫描)文档之间的相互转换?
- 弱弱的问:如何设置一个视图的初始大小。
- 请问一个CTreeCtrl 问题
- 问题:规避XP SP2限制实现UDP哄骗
- 什么是隐式和显式调用dll,各如何实现?
- 关于打印的一个菜鸟问题?
- 请问,m_hWnd,是不是被this隐含的传进函数里去了,那在什么情况下传进去呢
- 为什么我的MSDN2003动不动就变成浏览器了?
http://www.vchelp.net/itbookreview/view_paper.asp?paper_id=1460
那儿有很多你要的资料
上图分析的4个区域是最坏情况,因为当前窗口可能只占1个或2个区域,这样更能节省处理复杂度。当人物走动跨越区域时,需要把原来的区域包含的人物链表接点删除,在新区域链表中增加。
对区域的划分和显示窗口位置都是通过Tile块坐标和人物位置计算出来的。http://pic.tiexue.net/pics/2005_8_29_23936_423936.gif上图表示了客户端窗口地图和服务器地图的通讯。红色点代表当前用户,当用户每点一次鼠标,人物在窗口运动,并把运动方向和所点的坐标传给服务器,服务器在自己的地图上模拟此人物的运动,尽量达到和客户端同步。服务器中的这个人物每走一步向他的客户端发送窗口内的物体信息,以表示窗口内哪些物体出现、那些物体消失,对于静物没必要发送整个窗口的静物信息,因为静物位置不改变,所以只需传新出现的静物信息。和当前人物同一窗口的其他动物,每走一步也向这个人物的客户端发送数据,这样客户端就可以看到其他物体的运动情况。
客户端收到其他动物的漫游信息后,不用对每一步进行处理,可以保持当前运动状态每3步用服务器传来的信息修正一次,这样保证运动的连续性。也可以把服务器传来的每一步的数据和当前动物运动的位置进行比较,如果相差比较多就纠正,在窗口上就看到了拉扯的情况。想贴个图真是不容易...