您的位置:首页 > Web前端 > JavaScript

关于json和csb文件读取的问题

2017-03-07 14:41 302 查看
#include "HelloWorldScene.h"

//#include "cocostudio/CocoStudio.h"

//#include "ui/CocosGUI.h"
using namespace cocostudio;

USING_NS_CC;

//using namespace cocostudio::timeline;

//using namespace cocos2d::ui;

Scene* HelloWorld::createScene()

{

    // 'scene' is an autorelease object

    auto scene = Scene::create();

    

    // 'layer' is an autorelease object

    auto layer = HelloWorld::create();

    // add layer as a child to scene

    scene->addChild(layer);

    // return the scene

    return scene;

}

// on "init" you need to initialize your instance

bool HelloWorld::init()

{

    /**  you can create scene with following comment code instead of using csb file.

    // 1. super init first

    if ( !Layer::init() )

    {

        return false;

    }

    

    Size visibleSize = Director::getInstance()->getVisibleSize();

    Vec2 origin = Director::getInstance()->getVisibleOrigin();

    /////////////////////////////

    // 2. add a menu item with "X" image, which is clicked to quit the program

    //    you may modify it.

    // add a "close" icon to exit the progress. it's an autorelease object

    auto closeItem = MenuItemImage::create(

                                           "CloseNormal.png",

                                           "CloseSelected.png",

                                           CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));

    
closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 ,

                                origin.y + closeItem->getContentSize().height/2));

    // create menu, it's an autorelease object

    auto menu = Menu::create(closeItem, NULL);

    menu->setPosition(Vec2::ZERO);

    this->addChild(menu, 1);

    /////////////////////////////

    // 3. add your codes below...

    // add a label shows "Hello World"

    // create and initialize a label

    

    auto label = Label::createWithTTF("Hello World", "fonts/Marker Felt.ttf", 24);

    

    // position the label on the center of the screen

    label->setPosition(Vec2(origin.x + visibleSize.width/2,

                            origin.y + visibleSize.height - label->getContentSize().height));

    // add the label as a child to this layer

    this->addChild(label, 1);

    // add "HelloWorld" splash screen"

    auto sprite = Sprite::create("HelloWorld.png");

    // position the sprite on the center of the screen

    sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));

    // add the sprite as a child to this layer

    this->addChild(sprite, 0);

    **/

    

    //////////////////////////////

    // 1. super init first

    if ( !Layer::init() )

    {

        return false;

    }

    

   // auto rootNode = CSLoader::createNode("MainScene.csb");//MainScene
auto rootNode = GUIReader::getInstance()->widgetFromJsonFile("NewUi_1/NewUi_1.json");

auto B1 = dynamic_cast<Button*>(rootNode->getChildByName("Button_2"));

B1->setVisible(true);

    addChild(rootNode);

//**********************************************************************
//auto s = dynamic_cast<Sprite*>(rootNode->getChildByName("Default"));

//s->setVisible(false);

//text = dynamic_cast<TextField*>(rootNode->getChildByName("TextField_2"));

//text->ad
4000
dEventListener(CC_CALLBACK_2(HelloWorld::textFieldEvent, this));
//text->setString("ifh ");
//

//cocos2d::Size size;// = Director::getInstance()->getWinSize();
//size.width = 1000;
//size.height = 500;
//EditBox* stg = EditBox::create(size / 10, "frame.png", TextureResType::LOCAL);
//
//stg->setPosition(Point(550,50));
//addChild(stg);

///*auto json = CSLoader::createNode("NewUi_1.json");

//addChild(json);*/

//auto ssssss = Sprite::create("qdann.png");
//addChild(ssssss);

    return true;

}

void HelloWorld::textFieldEvent(Ref * pSender, TextField::EventType type)

{
log("别摸我");
//GUIReader::getInstance()->widgetFromJsonFile("lobby/Recharge/recharge_1.json");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: