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

本文共 2656 字,大约阅读时间需要 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】。一起讨论,策划游戏!

转载于:https://www.cnblogs.com/zisou/archive/2012/03/01/jskz5.html

你可能感兴趣的文章
【转】如何debug没有源代码的class文件——eclipse+jad
查看>>
java基础—— Collections.sort的两种用法
查看>>
分享5个来自tympanus的超炫图片幻灯效果和教程
查看>>
fragment--的生命周期
查看>>
xgboost安装指南(win10,win7 64位)
查看>>
spark-submit配置说明
查看>>
C#定时任务
查看>>
Android属性动画
查看>>
第九周作业
查看>>
hihocoder 1523 数组重排2+思维
查看>>
004 面向对象1
查看>>
C语言——贪吃蛇(第二阶段小蛇的移动
查看>>
牛客网——二叉树
查看>>
MyEclipse反编译插件的安装
查看>>
php RSA 简单实现
查看>>
python_Day4
查看>>
mongo3.0用户设置转(3)
查看>>
2018.3 强网杯 部分writeup
查看>>
架构师速成6.18-初中书单资料推荐
查看>>
linux系统的安装
查看>>