###前提・実現したいこと
cocos2d-x を始めて1ヶ月の初心者です。
開発言語は C++ です。
実現したいことは、ListViewの中に動的にボタン要素を入れて、
どのボタンが押されたか取得できるようにしたいです。
###該当のソースコード
Node* node = CSLoader::createNode("res/ListNode.csb"); node->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2)); ui::ListView* listView = static_cast<ui::ListView*>(node->getChildByName("ListView_1")); for (int i= 0; i<10; i++) { auto text = StringUtils::format("アイテム %d",i); Node* node_panel = CSLoader::createNode("res/ListParts.csb"); ui::Layout* panel_layout = static_cast<ui::Layout*>(node_panel->getChildByName("Panel_1")); node_panel->removeChild(panel_layout, true); //nodeの参照を無しにする //ラベル要素の取得 auto label = panel_layout->getChildByName<ui::Text*>("Text_1"); label->setString(text); //ボタン要素の取得 auto button = panel_layout->getChildByName<ui::Button*>("Button_1"); button->loadTextureNormal("button1.png"); button->addClickEventListener(CC_CALLBACK_2(TestScene::buttonClick, this)); listView->addChild(panel_layout); } this->addChild(node); //ボタンが押された時のコールバック void TestScene::buttonClick(Ref* sender, int tag){ switch(tag){ } }
###試したこと
button->addClickEventListener(CC_CALLBACK_2(TestScene::buttonClick, this));
CC_CALLBACK_2にして、引数にintのtagを渡したいのですが、
エラーになってしまいどのように実装すればいいのかわかりません。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/27 02:18