设计完开始界面后就要设计游戏界面了
为了理清设计思路先看一张游戏界面效果图
游戏界面设计思路:
1、在窗口上放一张桌子
2、在桌子上放一个棋盘
3、在棋盘右边添加新局按钮,暂不实现具体的功能
4、在棋盘右边添加开始按钮,暂不实现具体的功能
5、在棋盘右边添加悔棋按钮,暂不实现具体的功能
6、在棋盘右边添加难度按钮,暂不实现具体的功能
7、在棋盘右边添加声音按钮,暂不实现具体的功能
8、在棋盘右边添加返回按钮,暂不实现具体的功能
9、在桌子右边添加一个Voice标签
10、在桌子右边添加一个Return标签
11、在棋盘上放一个选择框,并且隐藏选择框
特别说明:
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",menu_selector(SceneGame::New)); menu->addChild(itemNew); itemNew->setpositionX(itemStart->getpositionX()); itemNew->setpositionY(itemStart->getpositionY() + 60); //创建悔棋按钮 CcmenuItem* item = CcmenuItemImage::create("regret.jpg","regret.jpg",menu_selector(SceneGame::Back)); menu->addChild(item); item->setpositionX(itemStart->getpositionX()); item->setpositionY(itemStart->getpositionY() - 60); //创建暂停按钮 CcmenuItem* itemPause = CcmenuItemImage::create("pause.jpg","pause.jpg",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",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",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",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)); //创建返回按钮 CcmenuItem* itemReturn = CcmenuItemImage::create("return.png","return.png",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",25); addChild(label1); //设置文字的位置 label1->setposition(ccp(winSize.wIDth/2 + 120,winSize.height/2 - 180)); //设置文字的颜色 label1->setcolor(ccc3(0,0));
在棋盘上放一个选择框
//创建一个选择框 //当选中某个棋子的时候,选择框会套在选好的棋子上 _selectSprite = CCSprite::create("selected.png"); addChild(_selectSprite); //隐藏选择框 _selectSprite->setVisible(false); //设置选择框的优先级 _selectSprite->setZOrder(1000); //压缩选择框 _selectSprite->setScale(.8f);总结
以上是内存溢出为你收集整理的Cocos2d-X开发中国象棋《四》设计游戏场景全部内容,希望文章能够帮你解决Cocos2d-X开发中国象棋《四》设计游戏场景所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)