【cocosStudio】查看官方示例--调用cocoStudio控件

理解:

  • 将cocoStudio的ui控件转换成cocos的GUI控件来操作
  • 通过widgetFromJsonFile()加载根容器Plane控件
  • 通过Helper::seekWidgetByTag()寻找子控件

打开官方示例:

  • 打开CMD
  • CD到D:\cocos2d-x-3.3rc0\tests\cpp-tests\
  • 执行cocos run -p win32命令



将class下所有的文件全部放到Sublime Text 3中:

  • 查找文件CTRL+P:CocoStudio.h
  • 发现底下有个#include "cocostudio/CCSGUIReader.h"
  • 接着查找CCSGUIReader.h



导入头文件调用:(注意命名空间和强制类型转换类型)

  • 将Json文件中的控件,转换成cocos2dx里面的ui控件来操作
  • #include "cocostudio\CocoStudio.h"
  • #include "ui\UIButton.h"
  • using namespace cocostudio;
  • using namespace ui;
注意类型转换的类型必须一一对应,比如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;  
    }  

}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值