展会信息港展会大全

Cocos2d-X开发中国象棋《四》设计游戏场景
来源:互联网   发布日期:2015-09-27 15:18:03   浏览:1754次  

导读: 设计完开始界面后就要设计游戏界面了 为了理清设计思路先看一张游戏界面效果图 游戏界面设计思路: 1、在窗口上放一张桌子 2、在桌子上放一个棋盘 3、在棋盘右边添加新局按钮,暂不实现具体的功...

设计完开始界面后就要设计游戏界面了

为了理清设计思路先看一张游戏界面效果图

游戏界面设计思路:

1、在窗口上放一张桌子

2、在桌子上放一个棋盘

3、在棋盘右边添加新局按钮,暂不实现具体的功能

4、在棋盘右边添加开始按钮,暂不实现具体的功能

5、在棋盘右边添加悔棋按钮,暂不实现具体的功能

6、在棋盘右边添加难度按钮,暂不实现具体的功能

7、在棋盘右边添加声音按钮,暂不实现具体的功能

8、在棋盘右边添加返回按钮,暂不实现具体的功能

9、在桌子右边添加一个Voice标签

10、在桌子右边添加一个Return标签

特别说明:

1、上面提到的功能都是在SceneGame.h/SceneGame.cpp中实现的

2、写这篇博客前对游戏进行了一些改进,所以在前面的博客中没有出现增加的功能

实现在窗口上放一张桌子:

//创建桌子

CCSprite* desk = CCSprite::create("floor.jpg");

this->addChild(desk);

//设置桌子的位置

desk->setPosition(ccp(winSize.width / 2, winSize.height / 2));

//压缩桌子

desk->setScaleX(winSize.width / desk->getContentSize().width);

desk->setScaleY(winSize.height / desk->getContentSize().height);

实现在桌子上放一个棋盘:

//创建棋盘

CCSprite* plate = CCSprite::create("background.png");

this->addChild(plate);

//设置描点为(0,0)

plate->setAnchorPoint(CCPointZero);

//设置棋盘的位置

plate->setPosition(_plateOffset);

//压缩棋盘:(窗口的高度 - 偏移的y坐标 * 2) / 图片的高度

plate->setScale((winSize.height -_plateOffset.y *2)/ plate->getContentSize().height);

在桌子上添加按钮和标签

//创建Menu

CCMenu* menu = CCMenu::create();

this->addChild(menu);

//创建开始按钮

CCMenuItem* itemStart = CCMenuItemImage::create("start.jpg", "start.jpg",

this, menu_selector(SceneGame::Start));

menu->addChild(itemStart);

itemStart->setPositionX(190);

itemStart->setPositionY(120);

//创建新局按钮

CCMenuItem* itemNew = CCMenuItemImage::create("new.jpg", "new.jpg",

this, menu_selector(SceneGame::New));

menu->addChild(itemNew);

itemNew->setPositionX(itemStart->getPositionX());

itemNew->setPositionY(itemStart->getPositionY() + 60);

//创建悔棋按钮

CCMenuItem* item = CCMenuItemImage::create("regret.jpg", "regret.jpg",

this, menu_selector(SceneGame::Back));

menu->addChild(item);

item->setPositionX(itemStart->getPositionX());

item->setPositionY(itemStart->getPositionY() - 60);

//创建暂停按钮

CCMenuItem* itemPause = CCMenuItemImage::create("pause.jpg", "pause.jpg",

this, menu_selector(SceneGame::Pause));

menu->addChild(itemPause);

itemPause->setPositionX(itemStart->getPositionX());

itemPause->setPositionY(itemStart->getPositionY() - 60 - 60);

//创建难度按钮

CCMenuItem* itemDifficulty = CCMenuItemImage::create("difficulty.jpg", "difficulty.jpg",

this, menu_selector(SceneGame::Difficulty));

menu->addChild(itemDifficulty);

itemDifficulty->setPositionX(itemStart->getPositionX());

itemDifficulty->setPositionY(itemStart->getPositionY() - 60 - 60 - 60);

//创建播放背景音乐按钮

CCMenuItem* itemVoice = CCMenuItemImage::create("openVolice.png", "openVolice.png.png",

this, menu_selector(SceneGame::Voice));

menu->addChild(itemVoice);

itemVoice->setPositionX(itemStart->getPositionX());

itemVoice->setPositionY(itemStart->getPositionY() - 60 - 60 - 60 - 60);

//创建停止播放背景音乐按钮

itemCloseVoice = CCMenuItemImage::create("closeVolice.png", "closeVolice.png",

this, menu_selector(SceneGame::Voice));

menu->addChild(itemCloseVoice);

itemCloseVoice->setPositionX(itemStart->getPositionX());

itemCloseVoice->setPositionY(itemStart->getPositionY() - 60 - 60 - 60 - 60);

itemCloseVoice->setVisible(false);

//CCLog("x=%lf", itemStart->getPositionX());

//CCLog("y=%lf", itemStart->getPositionY() - 240);

//创建一个标签,显示文本

CCLabelTTF* label = CCLabelTTF::create("Voice", "Arial", 25);

addChild(label);

//设置文字的位置

label->setPosition(ccp(winSize.width/2 + 120, winSize.height/2 - 120));

//设置文字的颜色

label->setColor(ccc3(0, 0, 0));

//创建返回按钮

CCMenuItem* itemReturn = CCMenuItemImage::create("return.png", "return.png",

this, menu_selector(SceneGame::Return));

menu->addChild(itemReturn);

itemReturn->setPositionX(itemStart->getPositionX());

itemReturn->setPositionY(itemStart->getPositionY() - 60 - 60 - 60 - 60 - 60);

itemReturn->setScale(0.2f);

//创建一个标签,显示文本

CCLabelTTF* label1 = CCLabelTTF::create("Return", "Arial", 25);

addChild(label1);

//设置文字的位置

label1->setPosition(ccp(winSize.width/2 + 120, winSize.height/2 - 180));

//设置文字的颜色

label1->setColor(ccc3(0, 0, 0));

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港