mirror of https://github.com/axmolengine/axmol.git
issue #3069: Updating Custom event test.
This commit is contained in:
parent
0622434321
commit
e6b0134080
|
@ -414,33 +414,61 @@ void CustomEventTest::onEnter()
|
||||||
Point origin = Director::getInstance()->getVisibleOrigin();
|
Point origin = Director::getInstance()->getVisibleOrigin();
|
||||||
Size size = Director::getInstance()->getVisibleSize();
|
Size size = Director::getInstance()->getVisibleSize();
|
||||||
|
|
||||||
auto statusLabel = LabelTTF::create("No custom event received!", "", 20);
|
MenuItemFont::setFontSize(20);
|
||||||
|
|
||||||
|
auto statusLabel = LabelTTF::create("No custom event 1 received!", "", 20);
|
||||||
statusLabel->setPosition(origin + Point(size.width/2, size.height-90));
|
statusLabel->setPosition(origin + Point(size.width/2, size.height-90));
|
||||||
addChild(statusLabel);
|
addChild(statusLabel);
|
||||||
|
|
||||||
const int game_custom_event = EventListener::TYPE_CUSTOM + 1;
|
_listener = EventListenerCustom::create("game_custom_event1", [=](EventCustom* event){
|
||||||
_listener = EventListenerCustom::create(game_custom_event, [=](EventCustom* event){
|
std::string str("Custom event 1 received, ");
|
||||||
std::string str("Custom event received, ");
|
|
||||||
char* buf = static_cast<char*>(event->getUserData());
|
char* buf = static_cast<char*>(event->getUserData());
|
||||||
str += buf;
|
str += buf;
|
||||||
str += " times";
|
str += " times";
|
||||||
statusLabel->setString(str.c_str());
|
statusLabel->setString(str.c_str());
|
||||||
delete[] buf;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
_eventDispatcher->addEventListenerWithFixedPriority(_listener, 1);
|
_eventDispatcher->addEventListenerWithFixedPriority(_listener, 1);
|
||||||
|
|
||||||
auto sendItem = MenuItemFont::create("Send Custom Event", [=](Object* sender){
|
auto sendItem = MenuItemFont::create("Send Custom Event 1", [=](Object* sender){
|
||||||
static int count = 0;
|
static int count = 0;
|
||||||
++count;
|
++count;
|
||||||
char* buf = new char[10];
|
char* buf = new char[10];
|
||||||
sprintf(buf, "%d", count);
|
sprintf(buf, "%d", count);
|
||||||
EventCustom event(game_custom_event);
|
EventCustom event("game_custom_event1");
|
||||||
event.setUserData(buf);
|
event.setUserData(buf);
|
||||||
_eventDispatcher->dispatchEvent(&event);
|
_eventDispatcher->dispatchEvent(&event);
|
||||||
|
CC_SAFE_DELETE_ARRAY(buf);
|
||||||
});
|
});
|
||||||
sendItem->setPosition(origin + Point(size.width/2, size.height/2));
|
sendItem->setPosition(origin + Point(size.width/2, size.height/2));
|
||||||
auto menu = Menu::create(sendItem, nullptr);
|
|
||||||
|
auto statusLabel2 = LabelTTF::create("No custom event 2 received!", "", 20);
|
||||||
|
statusLabel2->setPosition(origin + Point(size.width/2, size.height-120));
|
||||||
|
addChild(statusLabel2);
|
||||||
|
|
||||||
|
_listener2 = EventListenerCustom::create("game_custom_event2", [=](EventCustom* event){
|
||||||
|
std::string str("Custom event 2 received, ");
|
||||||
|
char* buf = static_cast<char*>(event->getUserData());
|
||||||
|
str += buf;
|
||||||
|
str += " times";
|
||||||
|
statusLabel2->setString(str.c_str());
|
||||||
|
});
|
||||||
|
|
||||||
|
_eventDispatcher->addEventListenerWithFixedPriority(_listener2, 1);
|
||||||
|
|
||||||
|
auto sendItem2 = MenuItemFont::create("Send Custom Event 2", [=](Object* sender){
|
||||||
|
static int count = 0;
|
||||||
|
++count;
|
||||||
|
char* buf = new char[10];
|
||||||
|
sprintf(buf, "%d", count);
|
||||||
|
EventCustom event("game_custom_event2");
|
||||||
|
event.setUserData(buf);
|
||||||
|
_eventDispatcher->dispatchEvent(&event);
|
||||||
|
CC_SAFE_DELETE_ARRAY(buf);
|
||||||
|
});
|
||||||
|
sendItem2->setPosition(origin + Point(size.width/2, size.height/2 - 40));
|
||||||
|
|
||||||
|
auto menu = Menu::create(sendItem, sendItem2, nullptr);
|
||||||
menu->setPosition(Point(0, 0));
|
menu->setPosition(Point(0, 0));
|
||||||
menu->setAnchorPoint(Point(0, 0));
|
menu->setAnchorPoint(Point(0, 0));
|
||||||
addChild(menu, -1);
|
addChild(menu, -1);
|
||||||
|
@ -449,6 +477,7 @@ void CustomEventTest::onEnter()
|
||||||
void CustomEventTest::onExit()
|
void CustomEventTest::onExit()
|
||||||
{
|
{
|
||||||
_eventDispatcher->removeEventListener(_listener);
|
_eventDispatcher->removeEventListener(_listener);
|
||||||
|
_eventDispatcher->removeEventListener(_listener2);
|
||||||
EventDispatcherTestDemo::onExit();
|
EventDispatcherTestDemo::onExit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,6 +64,7 @@ public:
|
||||||
virtual std::string subtitle() override;
|
virtual std::string subtitle() override;
|
||||||
private:
|
private:
|
||||||
EventListenerCustom* _listener;
|
EventListenerCustom* _listener;
|
||||||
|
EventListenerCustom* _listener2;
|
||||||
};
|
};
|
||||||
|
|
||||||
class LabelKeyboardEventTest : public EventDispatcherTestDemo
|
class LabelKeyboardEventTest : public EventDispatcherTestDemo
|
||||||
|
|
Loading…
Reference in New Issue