配置库部分: 如果 编译的时候 提示 没有 cocos2d.h .... 在 项目属性里 vc++ 附加库中更改目录位置。 链接库中看看是否有缺少。。。。
需要的头文件:
#include "cocos2d.h"
#include "cocos-ext.h"
USING_NS_CC;
using namespace ui;
using namespace cocos2d;
using namespace cocos2d::extension;
将 已经导出的 ui 文件 添加到 项目中去。 (导出的文件 放在 resource 下,资源部分也会出错哦。。。)
.
.
.
代码部分:
//根据文件创建一个界面
TouchGroup* player = TouchGroup::create();
Widget*pUI = GUIReader::shareReader()->widgetFromJsonFile("UI_log_1.ExportJson"); //Widget继承自 ccnode
player->addWidget(pUI);
this->addChild(player, 1, 1);
// button 按钮
UIButton* btn_prop1 = dynamic_cast<UIButton*>(player->getWidgetByName("Button_prop1"));
//dynamic_cast < type-id > ( expression )
//该运算符把expression转换成type - id类型的对象。
btn_prop1->addTouchEventListener(this, toucheventselector(HelloWorld::btCallBack) );
UIButton* btn_close = dynamic_cast<UIButton*>(player->getWidgetByName("Button_close"));
btn_close->addTouchEventListener(this,toucheventselector(HelloWorld::btcloseCallBack));
回调函数
void HelloWorld::btCallBack(CCObject *obj, TouchEventType type){
CCLog("button_prop1");
}
void HelloWorld::btcloseCallBack(CCObject *obj, TouchEventType type){
CCDirector::sharedDirector()->end();
exit(0);
CCLog("close");
}