概述
version11
主要内容:视口、地图滚动 、调试信息输出
所属部分:客户端
代码地址 https://github.com/changjixiong/MMO-RPGGame, 如何获得代码,请参考如何用SVN从github上检出代码的不同版本
邮件地址:changjixiong@gmail.com
本系列目录
本次更新,主要增加了视口,使人物在行走的时候,地图会滚动
所谓视口,就是游戏窗口,在某个场景中,假设地图的宽和高分别是 640*3,480*3,也就是目前场景的尺寸,那么,地图就是3*3屏,而视口在这个范围内则根据人物的移动而移动,见下图的那个实线框,人物在1号位置时,视口在场景的最左上方,人物在2号位置时,视口移动到场景的中间偏右上位置。
地图背景本身是可以头尾拼接的,注意看上图,缝隙是为了方便说明而特意留出来的。当视口移动的时候,根据视口所在的场景坐标,计算贴地图的坐标,然后,把地图贴上去,比如视口在2号位置时,需要贴4次。
具体代码, 参考GameMap::MoveViewport, GameMap::Draw
将人物的步长调整为32*24,网格的大小也同时调整
调整了方向判断
如图
abs(dy)/dx < stepLen_y/(3*stepLen_x) 并且 dx>0判定为正东 dy,dx分别表示坐标点击坐标和人物所在坐标的距离
为了便于计算,上面的计算变形为 abs(dy)*(3*stepLen_x) < stepLen_y*dx
其他方面按同样的方法判定,注意,正北的判定用到的是4*stepLen_y(当dx!=0)的时候,dx=0的时候,直接用dy判定
增加Sprite::MovePos,使人物走路的时候,改变自身在场景的坐标
最后
以上就是爱笑啤酒为你收集整理的网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第9篇)的全部内容,希望文章能够帮你解决网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第9篇)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复