924 static const int TAG_BLUE_SPRITE = 101;
925 static const int TAG_BLUE_SPRITE2 = 102;
927 auto touchOneByOneListener = EventListenerTouchOneByOne::create();
928 touchOneByOneListener->setSwallowTouches(
true);
930 touchOneByOneListener->onTouchBegan = [=](Touch* touch, Event* event){
935 auto target =
static_cast<Sprite*
>(
event->getCurrentTarget());
936 CCASSERT(target->getTag() == TAG_BLUE_SPRITE,
"Yellow blocks shouldn't response event.");
940 target->setOpacity(180);
945 event->stopPropagation();
949 touchOneByOneListener->onTouchEnded = [=](Touch* touch, Event* event){
950 auto target =
static_cast<Sprite*
>(
event->getCurrentTarget());
951 target->setOpacity(255);
954 auto touchAllAtOnceListener = EventListenerTouchAllAtOnce::create();
955 touchAllAtOnceListener->onTouchesBegan = [=](
const std::vector<Touch*>& touches, Event* event){
960 auto target =
static_cast<Sprite*
>(
event->getCurrentTarget());
961 CCASSERT(target->getTag() == TAG_BLUE_SPRITE2,
"Yellow blocks shouldn't response event.");
965 target->setOpacity(180);
968 event->stopPropagation();
971 touchAllAtOnceListener->onTouchesEnded = [=](
const std::vector<Touch*>& touches, Event* event){
976 auto target =
static_cast<Sprite*
>(
event->getCurrentTarget());
977 CCASSERT(target->getTag() == TAG_BLUE_SPRITE2,
"Yellow blocks shouldn't response event.");
981 target->setOpacity(255);
984 event->stopPropagation();
987 auto keyboardEventListener = EventListenerKeyboard::create();
988 keyboardEventListener->onKeyPressed = [](EventKeyboard::KeyCode , Event* event){
989 auto target =
static_cast<Sprite*
>(
event->getCurrentTarget());
990 CC_UNUSED_PARAM(target);
991 CCASSERT(target->getTag() == TAG_BLUE_SPRITE || target->getTag() == TAG_BLUE_SPRITE2,
"Yellow blocks shouldn't response event.");
993 event->stopPropagation();
996 const int SPRITE_COUNT = 8;
998 for (
int i = 0; i < SPRITE_COUNT; i++)
1005 sprite = Sprite::create(
"Images/CyanSquare.png");
1006 sprite->setTag(TAG_BLUE_SPRITE);
1007 addChild(sprite, 100);
1009 sprite2 = Sprite::create(
"Images/CyanSquare.png");
1010 sprite2->setTag(TAG_BLUE_SPRITE2);
1011 addChild(sprite2, 100);
1015 sprite = Sprite::create(
"Images/YellowSquare.png");
1016 addChild(sprite, 0);
1017 sprite2 = Sprite::create(
"Images/YellowSquare.png");
1018 addChild(sprite2, 0);
1021 _eventDispatcher->addEventListenerWithSceneGraphPriority(touchOneByOneListener->clone(), sprite);
1022 _eventDispatcher->addEventListenerWithSceneGraphPriority(keyboardEventListener->clone(), sprite);
1024 _eventDispatcher->addEventListenerWithSceneGraphPriority(touchAllAtOnceListener->clone(), sprite2);
1025 _eventDispatcher->addEventListenerWithSceneGraphPriority(keyboardEventListener->clone(), sprite2);
1028 Size visibleSize = Director::getInstance()->getVisibleSize();
bool isPointInTopHalfAreaOfScreen(cocos2d::Vec2 pt)
bool isPointInNode(cocos2d::Vec2 pt, cocos2d::Node *node)
static cocos2d::Vec2 center()
static cocos2d::Vec2 left()