2 qq 26470013 qq_26470013 于 2016.03.23 02:40 提问

在cocostudio上设计了按键、标签项,之后加载编译的时候没问题,运行时有错误

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");

addChild(rootNode);

Button *button1 = static_cast<Button*>(rootNode->getChildByName("Button_1"));

button1->addClickEventListener(CC_CALLBACK_1(HelloWorld::button1ClickCallback, this));

return true;

}

void HelloWorld::button1ClickCallback(Ref* pSender){

//SimpleAudioEngine::getInstance()->playBackgroundMusic("music.mp3", true);

}

1个回答

qq_33781971
qq_33781971   2016.03.23 09:59

绑定函数问题,查看绑定函数的逻辑

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!