1. 打开cocostudio,选择UI制作
2. 新建UI项目,将图片文件拷贝到resource目录下
3. UI制作好之后,保存并导出。
4. 将文件拷贝到游戏目录下的resource中
5. 通过代码加载编辑好的UI
6. 关键代码
MenuScene.h
#include "cocos2d.h"
using namespace cocos2d;
class MenuScene:public Layer //通过继承Layer,除了游戏场景,其他场景都可以快速对齐,编写好
{
public:
CREATE_FUNC(MenuScene);
bool init();
static Scene * createScene();
void onclick(Ref* obj,Widget::TouchEventType t);
};
MenuScene.cpp
bool MenuScene::init(){
if(!Layer::init())
{
return false;
}
//加载UI编辑器编辑好的ui
auto node=GUIReader::getInstance()->widgetFromJsonFile("NewUi_1.json");
this->addChild(node);
//获取UI中的某个node
Button * btStart=(Button *)node->getChildByTag(7);
btStart->addTouchEventListener(CC_CALLBACK_2(MenuScene::onclick, this));
return true;
}
还需要加上头文件和命名空间:
#include "cocostudio/cocostudio.h"
#include "ui/CocosGUI.h"
using namespace ui;
using namespace cocostudio;
之后还需要定义一个点击事件,点击“开始游戏”按钮进入Gamescene
void MenuScene::onclick(Ref* obj,Widget::TouchEventType t){
switch (t) {
case Widget::TouchEventType::ENDED:
{
auto scene=GameScene::createScene();
auto s2=TransitionFlipX::create(0.5,scene);
Director::getInstance()->replaceScene(s2);
}
break;
default:
break;
}
}