我是靠谱客的博主 虚拟黑米,最近开发中收集的这篇文章主要介绍网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第6篇),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

version7

主要内容:站立动画的鼠标响应

所属部分:客户端

代码地址 https://github.com/changjixiong/MMO-RPGGame, 如何获得代码,请参考如何用SVN从github上检出代码的不同版本

邮件地址:changjixiong@gmail.com

本系列目录


站立的动作有8个方向(向下为正南),所以,首先,加载八个方向的位图和动画序列,代码见Sprite::Init 函数的修改。

在Sprite::Load_Frame里面,现在增加了人物位置的偏移,何谓偏移,先看图

如果,人物的坐标是 x, y(也就是图中的那个十字) 那么,如要将人物贴在地图上,站在坐标x,y 的位置,那么bitblt的起始坐标就应该是  x - b, y - a,所以MyBitMap 需要增加offset_x,offset_y并用和位图同名的txt文件里的数据初始化,这样,在version6里面人物每次动作完成以后的那个抖动,就没有了。不过,由于面向东北,东南,和正东方向的资源,是由西北,西南,正西方向的位图翻转过来的,而文本里面的偏移值还是按原来的保存,所以,对于东北,东南,和正东方向的位图,bitblt的起始位置是x - (width - b), y - a,不过其实,用面向左手方面的位图,翻转了,来用做面向右手方向(即用10点半方向的位图翻转做1点半方向),可以减少资源的需要,在人物和动物这一块,就减少了3/8,下一版可以修改一下。


Sprite::ChangeDir 根据给定的坐标,改变主角的方向。在屏幕上点击鼠标,将坐标存在GameWorld的一个字符串里面,用来模拟从服务器收到的消息,然后,在GameWorld::Main()里面,解析消息,用得到的坐标,改变主角的面对方向。



最后

以上就是虚拟黑米为你收集整理的网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第6篇)的全部内容,希望文章能够帮你解决网络游戏demo开发实例:多人在线RPG游戏(MMO RPG)demo的开发记录(第6篇)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部