【cocos2d-x 3.7 飞机大战】 决战南海I (十一) 关于游戏场景

        这个场景作为弹出场景,主要介绍下游戏。。。还有自己的联系方式(*^__^*) ……

主要使用文本,就一个返回按键的响应函数


//返回按钮
void back(EventKeyboard::KeyCode keyCode, Event* pEvent);


同样要记得在析构函数中移除监听
AboutGame::~AboutGame()
{
	_eventDispatcher->removeEventListenersForTarget(this);
}



文本已在XML文件中生成,直接调用即可

bool AboutGame::init()
{
	if (!Layer::init())
		return false;

	//背景音乐
	CocosDenshion::SimpleAudioEngine::getInstance()->stopBackgroundMusic(true);
	CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("sound/BackgroundMusic1.mp3", true);
	
	bool bRect = false;

	do 
	{
		auto size = Director::getInstance()->getWinSize();

		//设置背景图片
		auto m_background = Sprite::createWithSpriteFrameName("backgroundTollgateOne.png");
		m_background->setPosition(Vec2(size.width/2,size.height/2));
		m_background->setAnchorPoint(Vec2(0.5, 0.5));
		this->addChild(m_background);

		//设置监听器
		auto m_listener = EventListenerKeyboard::create();
		m_listener->onKeyReleased = CC_CALLBACK_2(AboutGame::back, this);
		_eventDispatcher->addEventListenerWithSceneGraphPriority(m_listener, this);

		//设置标签 并 获取中文文本
		auto dictionary = Dictionary::createWithContentsOfFile("fonts/AboutMe.xml");

		auto m_label3 = Label::createWithTTF(
			((__String*)(dictionary->objectForKey("Others")))->getCString(),
			"fonts/DFPShaoNvW5-GB.ttf",
			25
			);
		m_label3->setDimensions(size.width / 3 * 2, size.height / 2);
		m_label3->setColor(Color3B(255, 255, 255));
		m_label3->setPosition(Point(size.width / 2, size.height/2));

		this->addChild(m_label3);

		auto m_label1 = Label::createWithTTF(
			((__String*)(dictionary->objectForKey("AboutMe")))->getCString(),
			"fonts/DFPShaoNvW5-GB.ttf",
			35
			);
		m_label1->setColor(Color3B(255, 0, 0));
		m_label1->setPosition(
			Point(size.width/2, size.height-m_label3->getContentSize().height-m_label1->getContentSize().height)
			);
		
		this->addChild(m_label1);

		auto m_label2 = Label::createWithTTF(
			((__String*)(dictionary->objectForKey("QQ")))->getCString(),
			"fonts/DFPShaoNvW5-GB.ttf",
			25
			);
		m_label2->setDimensions(size.width / 3 * 2, size.height / 6);
		m_label2->setColor(Color3B(0, 255, 0));
		m_label2->setPosition(Point(size.width / 2, m_label1->getPositionY() - m_label2->getContentSize().height));

		this->addChild(m_label2);

		bRect = true;
	} while (0);

	return bRect;
}

//返回按钮
void AboutGame::back(EventKeyboard::KeyCode keyCode, Event* pEvent)
{
	if (keyCode == EventKeyboard::KeyCode::KEY_ESCAPE)
	{
		//背景音乐
		CocosDenshion::SimpleAudioEngine::getInstance()->stopBackgroundMusic(true);
		CocosDenshion::SimpleAudioEngine::getInstance()->playBackgroundMusic("sound/game_start.mp3", true);
		Director::getInstance()->popScene();
	}
		
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值