博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动终端网页游戏移植研发框架【客户端战斗系统】
阅读量:6115 次
发布时间:2019-06-21

本文共 2592 字,大约阅读时间需要 8 分钟。

     传统网页游戏中的战斗系统无非两种,服务器端请求数据资源后,在游戏中进行配置,然后以动画形式表现出来。诸如十年一剑这类网游,战斗系统就是,靠装备+技能配置+家将辅助。在这里我想说决定一款游戏是否好玩,关键就在2个地方,游戏性【新颖的系统,和各种创新玩法】和交互性。所以我们除了要有研发游戏技术,还要有研发游戏的点子。做出什么样的系统才能吸引玩家?我们的游戏中,战斗系统算是一个小亮点,和大多文字类型游戏一样,通过玩家请求打怪,获得打怪数据,只不过将打怪数据图层化,界面化。

    下面我介绍一下我们游戏里面的战斗系统结构和框架:

    首先是视图:

    由于是在手机界面上,手机的屏幕大小是我们做游戏最大的局限,有非常好的场景和美工,但缺无处施展开来!所以我在做战斗系统的时候将地图背景区域化,局部显示,然后利用android手机滑动特性,让然家自由查看战斗场景中的每一个细节部分!

这使我们战斗系统中的战斗背景图,很明显中间的竞技台就是玩家们厮杀的战场!我们要将玩家和怪物实体化,将玩家的造型,和怪物的造型实例化出来。简单的看一下游戏中的制作界面,和需求:

     在战斗界面中 需要有

    1人物造型

    2人物属性,包括血条显示,属性值显示

    3人物技能展示

    4战斗信息框

    这4个部分就构成了一个完整的整个战斗系统。

最后就是详细说一下我们的技能显示,这点也是整个游戏中的一大玩点。首先详细秒速一下绿色背景区域,就是我们的技能显示区域,技能显示展示方法我们不是用andorid的控件和工具,我们是自己做的一套帧动画播放机制,android JAVA里面的Timer 使我们技能发招的大功臣!

Timer timer ;    Runnable runanble;	private int j = 0;    //技能播放    public void onplay(final String nowskillname,final String nowlife,final Boolean nowpkdxflag) {    	timer = new Timer();		timer.scheduleAtFixedRate(new TimerTask() {			@Override			public void run() {				// TODO Auto-generated method stub				nowSkillName =nowskillname;				nowLife=nowlife;				nowPKdxflag = nowpkdxflag;				j++;				Message mesasge = new Message();				mesasge.what = j;				if(j<=5)				{					playerhandler.sendMessage(mesasge);										}				else				{					j=0;					timer.cancel();					close_Skill();					playerhandler.removeMessages(j);				}			}		}, 0, 200);	}	public class DelayThread extends Thread {		int milliseconds;		public DelayThread(int j) {			milliseconds = j;		}		public void run() {                                                                                                                                                                                                                                                                                                                 			while (true) {				try {					sleep(milliseconds);				} catch (InterruptedException e) {					// TODO Auto-generated catch block					e.printStackTrace();				}				playerhandler.sendEmptyMessage(0);			}		}	}	private Handler playerhandler = new Handler() {		@Override		public void handleMessage(final Message msg) {			TApp.getActivity().runOnUiThread(new Runnable() {				@Override				public void run() {						//释放技能				}			});		}	};

 然后通过线程来跑技能释放动画,动画取材思路我就不说了,我们的算法就是帧组合,取出不同帧来呈现。

   最后说一下数据结构,通过以上的模块,组合起来的战斗效果只能说达到了高仿实景PK的界面,但是流畅度和画面的展现形式还有待提高的。

   下面展现一下最新的一组战斗图片:

   我们通过山河社稷图找到地图上的练级地图,进入1-10级地图:

   

   之后进入地图场景,场景上面的怪物和NPC都是流畅可见的。怪物和NPC其实目前其实就是精灵系统,现在精灵系统上面的元素还比较少,不过要是做动作,对话,还是可以简单实现的。

   

  最后就是点击怪物,然后弹出战斗提示,进入战斗场景!!开始战斗!!

  

这就是整个战斗系统的具体流程,及游戏的玩法!!从界面效果上看,基本上是能达到实景界面PK的模式,而且通过局部显示,玩家可以查看战斗中的每一个场景点。

如果有喜欢我们这款游戏的朋友,可以加群【剑神客栈研发组:45578308】。一起讨论,策划游戏!

转载地址:http://ojvka.baihongyu.com/

你可能感兴趣的文章
类斐波那契数列的奇妙性质
查看>>
配置设置[Django]引入模版之后报错Requested setting TEMPLATE_DEBUG, but settings are not configured....
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
Wait Functions
查看>>
代码描述10313 - Pay the Price
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
vb sendmessage 详解1
查看>>
jquery用法大全
查看>>
Groonga 3.0.8 发布,全文搜索引擎
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
网卡驱动程序之框架(一)
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>