编写小游戏《贪头蛇》第二篇

源码下载地址:http://download.youkuaiyun.com/detail/oyangyufu/7505487

该篇主要实现四个菜单按钮回调功能,切换到对应场景

关于页面

代码:

SnakeSceneManager类管理所有场景切换,只需要实例一个对象调用,关于场景切换:

void SnakeSceneManager::aboutlayer()
{
	CCScene *aboutscene = CCScene::create();
	AboutLayer *AL = AboutLayer::create();
	aboutscene->addChild(AL);
	CCDirector::sharedDirector()->replaceScene(CCTransitionFadeTR::create(1.5f, aboutscene));
}

进入AboutLayer类,初始化该场景

	//图层背景
	CCSize size = CCDirector::sharedDirector()->getVisibleSize();
	CCSprite *sp1 = CCSprite::create("bckgr.png");
	sp1->setAnchorPoint(ccp(0.5f, 0.5f));
	sp1->setPosition(ccp(size.width/2, size.height/2));
	this->addChild(sp1);

	//文本
	CCLabelTTF *label = CCLabelTTF::create("\t	Snake is a classic mobile phone game, \n\
												simple and resistance to play.By \n\
												controlling the direction of the \n\
												snake eating the eggs that snake \n\
												longer, to obtain the integral.",
											"Helvetica", 20, ccp(480, 320),  kCCTextAlignmentLeft);
	//label->setAnchorPoint(ccp(1.0f, 1.0f));
	label->setPosition(ccp(size.width/2+100,size.height/2-80));
	this->addChild(label);

	//返回主菜单按钮
	CCMenuItemImage *image1 = CCMenuItemImage::create("menuHome.png", "menuHome2.png", this, menu_selector(AboutLayer::toback));
	image1->setPosition(ccp(size.width/2, 50));
	image1->setScale(0.5f);

	CCMenu *menu = CCMenu::create(image1, NULL);
	menu->setPosition(CCPointZero);
	this->addChild(menu);

切换到主菜单页面

void AboutLayer::toback(CCObject *Obj)
{
	ssm->MenuScene();
}

 

设置页面

代码:

切换该场景

void SnakeSceneManager::setlayer()
{
	CCScene *setLayer = CCScene::create();
	SetLayer *SL = SetLayer::create();//设置图层
	setLayer->addChild(SL);
	CCDirector::sharedDirector()->replaceScene(CCTransitionFadeTR::create(1.5f, setLayer));	
}

进入SetLayer类,初始化该场景

	//设置图层背景
	CCSize size = CCDirector::sharedDirector()->getVisibleSize();
	CCSprite *spr1 = CCSprite::create("bckgr.png");
	spr1->setPosition(ccp(size.width/2, size.height/2));
	this->addChild(spr1);

	//音乐
	CCLabelTTF *labe = CCLabelTTF::create("SetMusic:", "Helvetica", 20, ccp(100, 20),kCCTextAlignmentLeft) ;
	labe->setPosition(ccp(size.width/2-50, size.height/2+50));
	this->addChild(labe);

	//音乐设置按钮
	image1 = CCMenuItemImage::create("sound-on-A.png", "sound-off-A.png", this, menu_selector(SetLayer::tosetmusic));
	image1->setScale(0.5f);
	image1->setPosition(ccp(size.width/2+30, size.height/2+50));
	MUISC = false;

	CCMenu *menu = CCMenu::create(image1, NULL);
	menu->setPosition(CCPointZero);
	this->addChild(menu);

	//上一步
	CCLabelTTF *labe2 = CCLabelTTF::create("Back:", "Helvetica", 20, ccp(100,20), kCCTextAlignmentLeft);
	labe2->setPosition(ccp(size.width/2-50, size.height/2));
	this->addChild(labe2);

	//上一步按钮
	image3 = CCMenuItemImage::create("backA.png", "backB.png", this, menu_selector(SetLayer::toback));
	image3->setPosition(ccp(size.width/2+30, size.height/2));
	image3->setScale(0.5f);

	CCMenu *menu2 = CCMenu::create(image3, NULL);
	menu2->setPosition(CCPointZero);
	this->addChild(menu2);
设置背景音乐,开关音乐图标的变化

void SetLayer:: tosetmusic(CCObject *pObj)
{
	  if (!MUISC)//禁音 ,off图标显示
	  {
			image1->setNormalImage(CCSprite::create("sound-off-A.png"));
			image1->setDisabledImage(CCSprite::create("sound-on-A.png"));
			CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
			MUISC = true;
			CCLOG("stop...");
	  }
	  else	//开启, on图标显示
	  {
		  image1->setNormalImage(CCSprite::create("sound-on-A.png"));
		  image1->setDisabledImage(CCSprite::create("sound-off-A.png"));
		  CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("background.mp3", true);
		  MUISC = false;
		  CCLOG("start...");
	  }
}
上一步切换至主菜单页面

void SetLayer::toback(CCObject *pObj)
{
	ssm->MenuScene();
}








                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值