基于Cocos2d-x实现的RunOrDie小游戏

Pullarla

发布日期: 2018-10-06 21:35:59 浏览量: 359
评分:
star star star star star star star star star_border star_border
*转载请注明来自write-bug.com

一、项目阐述

1.1 简介

本作是玩家通过鼠标控制角色移动,利用道具击杀怪物得分的一款游戏。

1.2 功能

玩家通过鼠标控制角色移动,地图上会不定时在随机位置出现随机移动的怪物,玩家需要避开这些怪物,并且利用随机出现的道具击杀怪物,击杀怪物数量越多,分数越高。

1.3 道具

  • 小刀:角色周围会出现一把围绕着其旋转的小刀,在小刀攻击范围内的怪物将会被消灭,效果持续一段时间
  • 炸弹:形成一次大范围伤害,消灭爆炸区域内的怪物
  • 散射子弹:角色向 8 个方向各发射一枚有穿透性的子弹,子弹路径上的怪物将被消灭

1.4 亮点

  • 操作简单,易于理解
  • 简单的色调,清新的画风

二、项目展示

游戏主界面

主界面有 4 个选项,分别跳转到另外 4 个子界面;主界面的背景有着不同的动画效果。

游戏界面

玩家用鼠标光标控制角色移动,用道具消灭怪物,道具视觉效果如下 。

小刀道具

爆炸

散射子弹

游戏结束

排行榜

本地储存玩家的成绩,并按先后排名,背景图案有着不同的动画效果。

规则说明

五、 项目难点及解决方案

5.1 素材问题

在期中 Project 展示的时候,就提到我们的期末 Project 主要卡在了动画素材的寻找上面,算是为了避开这个问题吧,我们以对称的几何图形为基本素材,对图片进行加工处理后,利用 cocos 的基础动画也能做出很不错的效果。至于颜色方面,由于几何图形的颜色不好互相搭配,所以与期中 Project 时我们的项目欢快的颜色搭配相反,这次我们干脆统一一个黑白的色调,这样看起来反而更加简洁精炼。素材来源方面的困难就这样解决了吧。

5.2 素材处理

虽然素材来源方面的困难这样解决了,但是不对图片进行后续的处理时很难达到想要的效果的,而其实我们小组 4 位成员都不会用 PS 软件,也对图像处理没什么经验。但为了更好的效果,只能下载了 PS,一边问身边的同学,一边百度摸索,一步步做出自己想要的图片效果,才有了现在的这个看起来很不错的游戏!

5.3 在游戏玩家获得道具且道具结束时会出现报错

由于道具在结束后将其从场景中移除,而在判断碰撞的调度器里,我们会获取道具的位置,这道具精灵已为空,所以出现错误。对此我们在道具消失前的 0.05 秒便停止判断碰撞,这样避免了访问空精灵的位置。

5.4 在创建数据库过程中,无法引用 sqlite3.h

这个问题虽然困扰了不少时间,但是解决方法却比较简单,就是要先下载一个sqlite3 的包,然后需要在加入一行代码:#pragma comment(lib, “sqlite3.lib”)。

5.5 对于怪物的移动

由于怪物如果只追着玩家时,最终所有怪物都会比较聚集在中心位置。而这里我们添加了另一组随机移动的怪物,尽量使得怪物都能比较分散地分布在地图上。

5.6 在制作发散子弹

由于发散子弹是从 8 个方向发射出去,而一开始打算只创建一个精灵,去实现 8个方向发射。而显然这难以实现,后来跟组员讨论一波后,觉得通过创建 8 个精灵去实现这一效果,虽然这样的话在判断碰撞时要考虑 8 个精灵比较多,但是这也是我们能想到相对较好的方法了。

上传的附件 cloud_download 基于Cocos2d-x实现的RunOrDie小游戏.7z ( 23.08mb, 2次下载 )
error_outline 下载需要7点积分

发送私信

你在背后说我,因为我走在你前面

14
文章数
8
评论数
最近文章
eject