cocos2d游戏制作代码及过程

上传人:宝路 文档编号:22269060 上传时间:2017-11-26 格式:DOC 页数:15 大小:1.39MB
返回 下载 相关 举报
cocos2d游戏制作代码及过程_第1页
第1页 / 共15页
cocos2d游戏制作代码及过程_第2页
第2页 / 共15页
cocos2d游戏制作代码及过程_第3页
第3页 / 共15页
cocos2d游戏制作代码及过程_第4页
第4页 / 共15页
cocos2d游戏制作代码及过程_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《cocos2d游戏制作代码及过程》由会员分享,可在线阅读,更多相关《cocos2d游戏制作代码及过程(15页珍藏版)》请在金锄头文库上搜索。

1、 被逼的鱼游戏说明一、游戏介绍:被逼的鱼(英文名:BABY FISH)是一款简单的手机游戏,它的界面操作简单,没有太多的操作步骤,适合很多群体的玩家。如:712岁的少年儿童、60岁以上的老年人、还有少数的青年玩家。而它之所以会为这些群体接受的另一些因素则是:这款游戏可以提高玩家的反应能力,在玩游戏的时候需要眼睛和手紧密的配合,从而在玩游戏的时候才会得心应手。所以,这款游戏对于开发儿童智力,提高反应能力有很大的帮助;同时,这款游戏也适用于老年人玩,它可以对防御老年痴呆有一定的帮助,因为游戏很好的帮助他们动脑和手。因此,我觉得这款游戏也有它开发的必要。二、游戏界面:1、开始界面:游戏的开始界面主要

2、包括:开始背景、进入游戏界面的开始按钮“NEW GAME”、游戏背景介绍的按钮“INFORMATION” 。开始界面可以帮助玩家了解游戏背景和操作步骤。通过开始界面背景,玩家可以大概了解到游戏将会在海底进行;还有游戏的界面操作。图1-1 开始界面图1-2 切换效果图1-3 说明界面2、游戏界面:游戏界面主要包括:游戏界面背景、各种各样的坠落物、玩家扮演的鱼、左上角的游戏分数、右上角玩家的生命值。鱼在游戏中可以左右移动,从而避免与坠落物发生碰撞,玩家在玩游戏的时候还会有背景音乐,背景音乐很好地创造了游戏的氛围。而游戏界面也与游戏背景相符合,都是在海底进行。图2-1 开始游戏图2-2 死亡一次3、

3、结束界面: 游戏结束界面主要包括:游戏结束(GAME OVER) 、返回新游戏(NEW GAME) 。从这个界面可以获取游戏时间,五秒后又将返回开始界面。图 3-1 结束界面3、游戏规则游戏中需操作的是左右移动键(“” 、 “” ) ,玩家通过键盘操作来避免鱼与坠落物相碰,玩家扮演的鱼一共有3条性命,鱼每与坠落物碰一次就会少一条性命,直到鱼的3条性命用完,游戏 GAME OVER。若是还想继续游戏,则点击按钮“NEW GAME”继续游戏。四、前期准备被逼的鱼开始界面:(注:页码为Cocos2d-x 游戏开发之旅相关页码代码)1.加载游戏封面(p30)2.开始按钮(p49) 游戏界面:1.添加坠

4、落物2.碰撞之后转结束界面3.背景音乐4.主角左右移动5.设置坠落物出现范围6.释放消失坠落物结束界面:1.获取游戏时间(见下文网络参照) (后期改为计分模式)(主背景名称)按钮 1(游戏简介+规则说明)(各种坠落物) (游戏背景)被逼的鱼左(右)2.显示时间(见网络参照)3.五秒后返回开始界面(后期改为按钮转换界面)4.结束条件判断以下为前期参考代码(精灵运动参考)HelloCPP 三个按钮 :精灵到 100,100 ;放大 1.5 倍 ;跳跃到 100,100;CCSize Screensize=CCDirector:sharedDirector()-getVisibleSize();pl

5、ayer=CCSprite:create(HelloWorld.png);CCPoint origin=CCDirector:sharedDirector()-getVisibleOrigin();player-setPosition(ccp(Screensize.width/4+origin.x,Screensize.height/4+origin.y);this-addChild(player,0);/init()中添加精灵CCMenuItemImage *item=CCMenuItemImage:create(CloseNormal.png,CloseNormal.png,CloseNo

6、rmal.png,this,menu_selector(HelloWorld:move);item-setPosition(ccp(0,0);CCMenu *menu=CCMenu:create(item,NULL);this-addChild(menu,0);CCMenuItemImage *item1=CCMenuItemImage:create(CloseNormal.png,CloseNormal.png,CloseNormal.png,this,menu_selector(HelloWorld:enlarge);item1-setPosition(ccp(50,50);CCMenu

7、*menu1=CCMenu:create(item1,NULL);this-addChild(menu1,0);(Game Over)/显示坚持秒数CCMenuItemImage *item2=CCMenuItemImage:create(CloseNormal.png,CloseNormal.png,CloseNormal.png,this,menu_selector(HelloWorld:jump);item2-setPosition(ccp(100,100);CCMenu *menu2=CCMenu:create(item2,NULL);this-addChild(menu2,0);/i

8、nit()中控制精灵void HelloWorld:move(CCObject *obj1)CCActionInterval *actionTo=CCMoveTo:create(2,CCPointMake(100,100);player-runAction(actionTo);void HelloWorld:enlarge(CCObject *obj2)CCActionInterval *actionTo=CCScaleTo:create(2,1.3f);player-runAction(actionTo);void HelloWorld:jump(CCObject *obj3)CCActio

9、nInterval *actionTo=CCJumpTo:create(2,CCPointMake(200,200),54,4);player-runAction(actionTo);/init()下 menuCloseCallback()上 创建功能函数void move(CCObject *obj1);void enlarge(CCObject *obj2);void jump(CCObject *obj3);cocos2d:CCSprite *player;/头文件CCLayer中声明功能函数以及变量player背景音乐HelloWorldScene.cpp添加头文件#include S

10、impleAudioEngine.h CocosDenshion:SimpleAudioEngine:sharedEngine()-playBackgroundMusic(kalimba.mp3);(inti()初始化中设置背景音乐)CocosDenshion:SimpleAudioEngine:sharedEngine()-playEffect(system.wav);(函数中点击引用音乐,初始化添加this-setTouchEnabled(true);)右键HelloWorld- 打开属性- 选择 C/C+下常规-编辑附加包含目录-选择(添加)路径$(ProjectDir).cocos2d

11、xCocosDenshionios精灵随机从左到右void HelloWorld:creatTo(float);void HelloWorld:Move(float d);Screensize=CCDirector:sharedDirector()-getVisibleSize();this-schedule(schedule_selector(HelloWorld:creatTo), 1.5f); /时间函数(创建)void HelloWorld:creatTo(float d)CCSprite *player=CCSprite:create(CloseNormal.png); /创建精灵p

12、layer-setPosition(ccp(0,y); /(设置坐标变量)addChild(player,1); /添加精灵CCMoveTo *scale=CCMoveTo:create(4,ccp(Screensize.width),y); /(控制精灵)移动到int random= CCRANDOM_0_1()*(Screensize.height); /随机函数y=random;player-runAction(scale); /创建player-schedule(schedule_selector(HelloWorld:Move), 0.1f); /时间函数(移动)void Hello

13、World:Move(float d)CCSize Screensize=CCDirector:sharedDirector()-getVisibleSize(); /获取银幕尺寸x=Screensize.width;if(this-getPositionX()=x) this-removeFromParent(); /消失函数/少用全局变量 避免重复网络参照获取时间: long millisecondNow() struct cc_timeval now; CCTime:gettimeofdayCocos2d(&now, NULL); return (now.tv_sec * 1000 +

14、now.tv_usec / 1000); 五、游戏的核心代码本工程包含AppDelegate、StartGame、Information 、GameLayer、GameMark 、GameOver 项,以下为各个项核心代码,顺序以游戏顺序为主:1、从 AppDelegate转入开始场景 StartGameCCScene *pScene = StartGame:scene();pDirector-runWithScene(pScene);2、A:开始 StartGame场景中添加背景CCSize size=CCDirector:sharedDirector()-getWinSize();CCSp

15、rite *bj=CCSprite:create(BEGIN.png);bj-setPosition(ccp(size.width/2,size.height/2);this-addChild(bj);B:开始 StartGame场景中添加按钮CCMenuItemImage* startGameItem=CCMenuItemImage:create(B00.png,B0.png,this,menu_selector(StartGame:newGame);startGameItem-setScale(0.5);startGameItem-setPosition(ccp(size.width/2+140,size.height/2+50);/其他按钮同上管理多个按钮CCMenu *mainmenu=CCMenu:create(startGameItem,IntroduceItem,NULL);mainmenu-setPosition(CCPointZero);this-addChild(mainmen

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号