基于Cocos2d-JS的“越狱酷跑”游戏的设计与实现

2019-07-16 03:17赖丽春金安安
电脑知识与技术 2019年14期
关键词:性能优化手机游戏

赖丽春 金安安

摘要:基于Cocos2d-JS的“越狱酷跑”游戏的设计与实现,该文通过使用Cocos2d-JS引擎、WebStorm编辑器以及CocosStudio场景布局功能,实现了游戏中枪类、角色、游戏地图模块,实现了“越狱酷跑”游戏联网功能,同时实现了PC端、手机端“越狱酷跑”游戏,并进一步对游戏中地图循环问题进行了剖析,提供了比较好的解决方法。

关键词:Coco2d-JS;手机游戏;性能优化;HTML5

中图分类号:TN99       文献标识码:A

文章编号:1009-3044(2019)14-0038-02

1 研究背景

手机游戏逐渐普及到大众生活中,并慢慢走入人们的日常视野,基于网页开发的游戏也随之而带动起来,并掀起了一股热潮。大部分开发者借助HTML5强大的跨平台性,对于PC平台的部署和移动平台的部署的时机日语成熟。近年来,很多设计师选择要求不高的动画主题,如纸牌游戏,策略游戏。“巴哈姆特之怒”这是HTML5实现一次开发,并同时完成HTML5游戏。通过游戏具体的实现过程,便于快速理解及应用。

过去的手机和电脑的内存是非常珍贵的,因此,很重视内存充不充足的问题。虽然在这一技术上科技日益更新,但内存问题还是很重要的问题。目前市场流动的手机游戏,大部分上从应用市场下载的游戏,这些属于原生游戏[1]。利用Cocos2d-JS开发出来的免安装游戏,也就是HTML5游戏。因此,基于Cocos2d-JS开发的游戏符合了现在的市场需求。

2 游戏需求分析

总体目标:主要通过类似于超级马里奥寺庙,胜利大逃亡和其他游戏概念设计,游戏引擎的分析和优化功能来实现。游戏场景地图有6个,每个场景可以是一个无限循环,角色是由玩家控制的,进入游戏后,玩家需要控制屏幕上的角色[2]。使角色在地图上滑行或者跳跃,以躲避攻击,地图无限循环,你也可以跑回来,躲避子弹的射击,闯过关卡,即可以获得星星,以此获得分数。当角色被子弹射击中,并耗尽生命数,则表示角色身亡,游戏结束。

在游戏结束的时候,对于玩家的游戏成果。我们采用数据持久化,仍然保留,玩家可以最高分数进行比较。并可以看到玩家当前一局游戏分数,在单人游戏模块中,大致的功能需求如下:1)实现欢迎动画功能[3]。刚开始游戏时,玩家将进入游戏主菜单界面[4]。按PLAY开始游戏,你可以选择游戏开始并做好准备;2)实现游戏说明功能。在主菜单界面进入游戏,即会弹出游戏规则窗口,选择下次不提醒,下次则不会弹出该窗口;3)实现行走和从屏幕上跳跃控制玩家角色的功能。滑动屏幕是角色行走功能,往右一直滑屏幕右边是角色跳跃,考验着玩家的耐心和敏锐的观察力,同时手指还需要反应及时、迅速;4)实现游戏中加载声音的功能。在游戏中的伴奏,背景音乐响起,按照精灵行动,相应的配合动感的音乐节奏;5)实现碰撞功能。当子弹射击中精灵,精灵则不能通过关卡,与子弹的碰撞,无论是向左或向右碰撞,只要碰撞到精灵,精灵的耳朵则会两耳张开是开放的,生命的数量将被降低一;6)实现重力功能。精灵跳跃高度不是随机的,以便反映重力功能的真实性,使在跳动到一定的高度自动跳回地板上;7)实现子弹自动移动和射击的功能。主要的敌人,上空移动,敌人会随机射击,按照时间和距离随意移动,然后释放出子弹;8)实现躲避功能。当面对敌人时,玩家可以控制精灵逃脱,退回一定距离,抓住一次穿越的机会;9)实现分数拾取功能。玩家可以控制人物通过过关,来获取分数和提高生命数。玩家可以控制角色通过,在游戏过程中获得星星数,即是分数[5]。以此来获得通关的机会;10)實现道具功能。玩家可以控制人物躲避射击,最终冲越重重阻碍,拯救被困狱中的猫;11)实现子弹功能。由后台统一射击,不定时释放出子弹。我们需要提供各种粒子效果,实现子弹射击中的效果,如火焰弹;12)实现地图循环功能。无限的拖动地图,以达到游戏可以无限循环的结果。利用了瓦片地图,背景可以不断重复利用,减少占用内存。

3 游戏整体分析设计

1)游戏主循环模块:负责游戏中每一帧的循环处理,即刷帧模块。利用此模块,结合瓦片地图可以实现。

2)游戏控制模块:角色、子弹、星星等的物品的创建、控制、移动功能的模块。

3)游戏物理引擎模块:提供游戏的物理属性,及物理世界的模拟,粒子系统实现。

4)游戏碰撞检测模块:监督物品间的碰撞,碰撞处理以及碰撞后的结局。

5)游戏子弹模块:子弹相关处理模块,子弹的射击和移动。

6)游戏音效模块:为提供游戏背景音效。

7)游戏地图加载模块:加载瓦片地图和地图移动操作,以及地图循环。

4 游戏的设计与实现

4.1 游戏的整体实现

在上述的章节中,我们已经对本游戏的界面设计,模块功能分析,总体流程设计做了详细的分析,下面我们将通过如图2的类图来说明本游戏的开发与设计。

1)Mian类:主要为启动游戏,也可以作为程序的入口,因而也叫作游戏的启动类。

2)preloader类:为主类预加载各种资源,为游戏界面布局加载类[6]。

3)collision类:碰撞检测,为游戏的碰撞检测机制,在本游戏中处理人物子弹与dog类的碰撞。

4)tilemap类:TMX地图,载入地图,gunner、财物对象是从这里生成。

5)gunner类:gunner角色类,枪的创建、控制、射击等gunner进行控制处理。

4.2 游戏枪类模块的实现

枪的设计的思路:1)从以上类图我们可以知道一个比较简单的关系,gunner角色负责子弹的发射,即是由guuer操作。2)枪的Bullet 类之负责一个创建子弹、子弹的移动、碰撞和销毁。

猜你喜欢
性能优化手机游戏
让手机游戏成为传统文化的传播新渠道
手机游戏对大学生的负面影响及对策分析
SQL Server数据库性能优化的几点分析
浅谈手机游戏业务发展策略