2015《Cocos2dx-JS游戏集合》

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  51 随笔 :: 4 文章 :: 178 评论 :: 0 引用

     传统网页游戏中的战斗系统无非两种,服务器端请求数据资源后,在游戏中进行配置,然后以动画形式表现出来。诸如十年一剑这类网游,战斗系统就是,靠装备+技能配置+家将辅助。在这里我想说决定一款游戏是否好玩,关键就在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】。一起讨论,策划游戏!

posted on 2012-03-01 13:09  入梦凡尘  阅读(...)  评论(...编辑  收藏