一般来说,角色移动的时候会给服务器发送move消息,当服务器收到消息后,调用on_move函数,该函数对不能移动的情况进行了分析,如果不能移动,比如被施加了禁止移动的技能,就会发送消息通知客户端,当前角色无法移动。也就是说默认情况下,角色是可以移动的,某些特殊情况下,服务器会发消息通知客户端禁止移动。
游戏里面,玩家移动角色的时候,一般来说会有一个最小移动距离,称为一个格子。移动速度可以通过移动n个格子所需要的时间来定义,比如移速为200(客户端使用),代表移动一个格子所花费的时间的200ms,这个值越小,移动速度越快。游戏里面通常会有一个移动属性值(服务端使用)来表达当前移动速度大小,移动属性值越大,相应的移动速度越大。从上述分析可以发现,客户端和服务端对于移速的定义刚好相反,所以服务器端通常会通过使用一个常量除以移动属性获得一个值,然后再把这个值传给客户端,这个值也就是上面所述的200。