Cocos2d-X开发中国象棋《四》设计游戏场景

Cocos2d-X开发中国象棋《四》设计游戏场景,第1张

概述设计完开始界面后就要设计游戏界面了 为了理清设计思路先看一张游戏界面效果图 游戏界面设计思路: 1、在窗口上放一张桌子 2、在桌子上放一个棋盘 3、在棋盘右边添加新局按钮,暂不实现具体的功能 4、在棋盘右边添加开始按钮,暂不实现具体的功能 5、在棋盘右边添加悔棋按钮,暂不实现具体的功能 6、在棋盘右边添加难度按钮,暂不实现具体的功能 7、在棋盘右边添加声音按钮,暂不实现具体的功能 8、在棋盘右边添

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

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


游戏界面设计思路:

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开发中国象棋《四》设计游戏场景所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1010637.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存