基于Quick—Cocos2d—x喔喔回家小游戏的开发

2017-03-17 17:51陈建云戴晟晖郑军生
电脑知识与技术 2016年32期
关键词:益智娱乐游戏

陈建云++戴晟晖++郑军生

摘要:移动互联网正在不断地在改变人们的日常生活娱乐方式,其中游戏渐渐地融入到我们娱乐生活中。目前的游戏种类繁多,如:动作、射击、休闲、策略之类。这些游戏,有的太繁琐,有的过于费时,而且里面的操作充满了大量强迫、呆板的现象。而游戏本应是让人“娱乐身心,消遣放松”为宗旨的,若带强迫性,将对娱乐者带来很多负面影响,不但不能让人放松心情,也浪费时间。针对此问题,本次开发的喔喔回家这款游戏,是基于Quick-Cocos2d-x,它不仅具有一般游戏的娱乐性,更具有益智修心、开发脑力的作用,而不像目前市场上大多数游戏那样机械、纯傻瓜式的操作,本游戏每次娱乐都可以帮助我们实现放松心情,还有助于提高我们的思考能力。

关键词:游戏;Quick-Cocos2d-x;益智;娱乐

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)32-0051-03

Whoa,Whoa, Based on Quick-Cocos2d-X Home Games Development

CHEN Jian-yun1, DAI Sheng-hui1, ZHENG Jun-sheng2

(1.Information Engineering Institute, East China University of Technology, Nanchang 330013, China; 2.Jiangxi Water Resources Institute, Nanchang 330013, China)

Abstract: Mobile Internet is constantly changing peoples daily life entertainment,including the game gradually into our entertainment life.The current game a wide range,such as:action,shooting,leisure,strategy and the like.These games,some too cumber some,some too time-consuming,and the operation inside is full of a lot of forced,dull phenomenon.The game should be people “entertainment,relaxation” for the purpose,if with a enforce will bring a lot of negative impact on the entertainment, not only can let people relax,but also a waste of time.In response to this problem,the development of this game is based on Quick-Cocos2d-x,it not only has the general game of entertainment,more puzzle repair,development role of the brain,rather than the current market.On most games as mechanical,pure fool-style operation,the game every time entertainment can help us to relax,but also help to improve our ability to think.

Key words:the game; Quick-Cocos2d-x; puzzle; entertainment

游戲的雏形,可以追溯到人类原始社会的活动:扔石头、投掷带尖的棍子。这些最早的游戏都是以增强人类的生存技能作为初衷。社会进步后,竞技类游戏、棋牌类游戏开始出现,那是为了适应竞争和智力培养而生。到后来,出现了电脑,人们的娱乐环境也从室外的奔跑打乐变成了室内的电脑上的端游,一直到现在,出现了手游以后,娱乐也就更变的随时随地了。据国家统计局统计2014年玩家规模已达1亿以上,仍将保持高速增长。且手机游戏分为网络游戏和单机游戏两种。

市场研究公司的报告显示2015年第二季度iOS和Android平台手游营收是端游的3倍。由此可见手游市场潜力大,投入资金少,还可以吸引市场进入者,但其中也存在激烈的竞争,其中如何生存是值得考虑的问题。手游开发商和服务提供商不重视市场宣传和推广工作,忽视了游戏产品以及用户的体验和习惯培养重要性。手游市场竞争激烈,其中涉及国内同时也涉及国外。有的手游开发商为了追求低成本和短期利益,使游戏的质量粗糙,吸引力大跌。同时手游行业的创新力越来越低。

1开发技术

本文用cocos2D-X作为开发技术。cocos2d是一个基于MIT协议的开源框架,主要用于构建2d游戏以及应用程序或其他交互应用。其主要是使用c++作为底层实现。Cocos主要是围绕Cocos2d跨平台,使用Cocos2d-x提供的框架。手机游戏可以用在Lua或C++里,使用的API是可以完全兼容。对于Cocos2d-x项目可以很好的运行在IOS,Android等操作系统中。它还还支持Linux、Windows、Mac等桌面操作系统,因此,开发者能够在PC端进行调试。

2 系统需求分析

2.1系统总体需求分析

本游戏的总体需求分析是,玩家可以通过手机进行游戏,在游戏中通过各种办法,帮助迷路的喔喔找到回家的路。但是在路上有着陷阱以及各种障碍会让它受到伤害,在受到伤害的时候,喔喔就会死亡,此时游戏失败,只有在喔喔的帮助下你才能拿到游戏中的三个小星星,在拿到三个小星星的时候游戏才会胜利,并且解锁下一个关卡。

系统总体功能需求如图1所示。

图1 系统总体功能图

2.2主要功能需求分析

1)资源加载界面

游戏的欢迎界面主要是用于加载游戏正常运行时的图片以及即将进入游戏时的功能,在这个界面玩家不能操作。只能等待资源的加载完成。首先是资源加载页面,这里采用了进度条来进行实现。

2)游戏主菜单

这里是玩家进入游戏之后看到的第一个界面,所以这里必须要简洁,给玩家一种耳目一新的感觉,所以这里设置三个简单的按钮给玩家操作,分别是开始游戏,游戏设置,以及游戏帮助。游戏开始是玩家在点击以后会进入选择场景界面,游戏设置是在游戏当中的音量的调节以及音效的开关。游戏帮助里面是一些关于游戏的世界观,以及玩家需要做到什么。

3)场景和关卡选择

这个界面是进入游戏的必经之路,在这个界面里面可以快速选择你想玩的场景以及关卡。

4)游戏界面

这个界面是整个游戏的灵魂,在这个界面里面有个喔喔,我们通过帮助它回家,从而得到星星的奖励。每个关卡的最高奖励是三个星星,只有在喔喔的帮助下你才能取得星星,在达到了三个星星的情况下,才会解锁下一关,而且喔喔在回家的过程中不能够碰到陷阱,在碰到陷阱或者走出屏幕时喔喔就会死亡,死亡之后游戏则失败。

2.3游戏运行及开发环境

游戏在MAC OS系统下开发,基于Quick引擎,采用了Lua语言进行开发。

操作系统:Android

程序语言:Lua

开发环境:Mac OS X10.10

开发工具:Xcode6.1, SublimeText2, quick-cocos2d-x, Zwoptex, Cocos Studio, TexturePacker

3系统总体设计

3.1系统总体功能设计

游戏的设计分为用户设计和功能设计,游戏的设计分为用户设计和功能设计,通过一个完善的功能,以及一种新奇的玩法,往往可以吸引到更多的用户。首先是加载资源,加载成功后可以对游戏菜单进行操作,分别是开始游戏、游戏设置、游戏帮助。开始游戏后就会进入选择场景和关卡,做完这些就可以进入游戏了,游戏结束以后,会出现数据统计界面,在这个界面可以判断是否达成游戏目标。

3.2 系统总体设计思路

首页是进入游戏加载,这里采用进度条来进行实现。接着是主菜单,这里采用了动作序列给按钮上写了点击的回弹,然后是关卡选择,这里采用了ScrollView实现了滚动的效果,然后是游戏主场景,这里采用了物理引擎实现了喔喔的移动,采用了碰撞检测实现了喔喔的受伤。最后是游戏结算场景,这里统计了游戏里面的数据。

4 详细设计与实现

4.1 资源加载的实现

在游戏中,由于资源较多,加载过慢,在此设计一个加载界面,主要有一个进度条完成。

进度条可以让玩家知道加载的进度,掌握需要多久可以玩到游戏。

进度条的实现:

local timer = cc.ProgressTimer:create(cc.Sprite:create("loading.png"))

timer:setPosition(display.cx, display.cy)

timer:setType(display.PROGRESS_TIMER_BAR)

timer:setMidpoint(cc.p(0,0.5))--基準点

timer:setPercentage(0)

timer:addTo(self)

4.2 游戏菜单的实现

首先是写了两个函数,一个是横向的,一个是竖向的,通过连续两次这样的效果给人视觉上产生回弹。对使用此函数创建出来的按钮都带有回弹效果:

function BubbleButton.new(params) -- 给按钮写的点击回弹效果

local listener = params.listener

local button

params.listener = function(sender)

local function zoom1(offset,time,onComplete)

localx,y = button:getPosition()

local size = cc.size(193,81)

localscaleX = button:getScaleX() * (size.width + offset)/size.width

localscaleY = button:getScaleY() * (size.height - offset)/size.height

transition.moveTo(button,{y = y-offset, time = time})

transition.scaleTo(button, {scaleX = scaleX,scaleY = scaleY,time = time,onComplete =onComplete,})

end

4.3 游戏场景选择

游戏场景是游戏里面最重要的部分,因为玩家玩的就是它。游戏场景里面所有的场景都是通过cocos studio 来进行布置的,所以在cocos studio里面给不同的物品都设置了对应的tag值,用以在游戏中方便操作。

5 系统测试

5.1资源加载测试

游戏中资源较多,加载过慢,在此设计一个加载界面,提前加载所需要的数据,主要有一个进度条完成。资源加载场景如图2所示。

5.3游戏帮助测试

在游戏帮助界面主要给玩家解释游戏的目标是什么。测试如图3所示。

图3 游戏帮助界面图

6结束语

本文提出并设计了一个基于quick引擎下的休闲小游戏,该游戏主要让人们把碎片化时间充分利用起来,让这个小游戏充当快乐的源泉。主要实现了简单的三种游戏场景,每个场景又分为七个小关卡,为了保存数据这里采用了数据持久化操作,将数据保存在本地,以便下次进入的时候可以接着玩,在游戏主场景里面还会让人耳目一新,是一款非常值得去玩的小游戏。所以该游戏更值得每一个玩家去思考,怎样才能获得胜利。

参考文献:

[1] 满硕泉.Cocos2d-x权威指南[M].北京:机械工业出版社,2013.

[2] 钟迪龙.Cocos2d-x游戏开发之旅[M].北京:电子工业出版社,2013.

[3] 刘剑桌.Cocos2d-x游戏开发技术精解[M].北京:人民邮电出版社,2013.

[4] StanleyB.Lippman,JoseeLaijoie,BarbaraE.Moo,C++Primer,FourthEdition[M].AddisonWeslyProfessional,Fedruary 14,2005.

[5] 徐松林.Cocos2d-x手机游戏开发:跨iOS、Android和沃Phone平台[M].北京:人民邮电出版社,2012.

[6] 李华明.iOS游戏编程之从零开始—Cocos2d-x引擎游戏开发[M].北京:清华大学出版社,2013.

猜你喜欢
益智娱乐游戏
益智故事会
爆笑游戏