【cocosStudio】查看官方示例--调用cocoStudio控件
发布时间:2020-12-14 19:48:17 所属栏目:百科 来源:网络整理
导读:理解: 将cocoStudio的ui控件转换成cocos的GUI控件来操作 通过widgetFromJsonFile()加载根容器Plane控件 通过 Helper::seekWidgetByTag()寻找子控件 打开官方示例: 打开 CMD CD 到D:cocos2d-x-3.3rc0tests cpp-tests 执行 cocos run -p win32 命令
理解:
打开官方示例:
将class下所有的文件全部放到Sublime Text 3中:
导入头文件调用:(注意命名空间和强制类型转换类型)
注意类型转换的类型必须一一对应,比如TextField就是TextField,不能转换为TextFieldTTF:
#include "HelloWorldScene.h" /* cocoStudio导出的Json文件 */ #define JSON "DemoLogin.json" #define BTN_TAG 14 #define EDIT_TEXT_NAME 8 /* 设置命名空间 */ USING_NS_CC; using namespace cocostudio; using namespace ui; using namespace std; Scene* HelloWorld::createScene() { auto scene = Scene::create(); auto layer = HelloWorld::create(); scene->addChild(layer); return scene; } bool HelloWorld::init() { if ( !Layer::init() ) { return false; } /* 加载cocoStudio界面 */ auto uiScene = GUIReader::getInstance()->widgetFromJsonFile(JSON); addChild(uiScene); /* 找到cocoStudio的控件,装换成coocs的gui控件(Helper须加载CocosGUI.h) */ /* 按钮 */ Button *btn = (Button*)(Helper::seekWidgetByTag(uiScene,BTN_TAG)); /* 设置按钮点击事件(注意转换类型的对应) */ btn->addTouchEventListener( this,toucheventselector(HelloWorld::touchEvent)); /* 输入框(注意转换类型的对应,不是TextFieldTTF) */ editText = (TextField*)(Helper::seekWidgetByTag(uiScene,EDIT_TEXT_NAME)); return true; } /* 设置按钮点击事件 */ void HelloWorld::touchEvent(Ref *pSender,TouchEventType type){ switch (type) { case TOUCH_EVENT_BEGAN: CCLOG( "Began" ); break; case TOUCH_EVENT_MOVED: break; case TOUCH_EVENT_ENDED: /* 输出输入框的内容 */ CCLOG( editText->getString().c_str() ); break; case TOUCH_EVENT_CANCELED: break; default: break; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |