845 auto listener = EventListenerTouchOneByOne::create();
846 listener->setSwallowTouches(
true);
848 listener->onTouchBegan = [](Touch* touch, Event* event){
849 auto target =
static_cast<Sprite*
>(
event->getCurrentTarget());
851 Vec2 locationInNode = target->convertToNodeSpace(touch->getLocation());
852 Size s = target->getContentSize();
853 Rect rect = Rect(0, 0, s.width, s.height);
855 if (rect.containsPoint(locationInNode))
857 log(
"sprite began... x = %f, y = %f", locationInNode.x, locationInNode.y);
858 target->setOpacity(180);
864 listener->onTouchMoved = [](Touch* touch, Event* event){
865 auto target =
static_cast<Sprite*
>(
event->getCurrentTarget());
866 target->setPosition(target->getPosition() + touch->getDelta());
869 listener->onTouchEnded = [=](Touch* touch, Event* event){
870 auto target =
static_cast<Sprite*
>(
event->getCurrentTarget());
871 log(
"sprite onTouchesEnded.. ");
872 target->setOpacity(255);
875 const int SPRITE_COUNT = 8;
877 for (
int i = 0; i < SPRITE_COUNT; i++)
882 sprite = Sprite::create(
"Images/CyanSquare.png");
888 sprite = Sprite::create(
"Images/YellowSquare.png");
891 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), sprite);
893 this->addChild(sprite);
895 Size visibleSize = Director::getInstance()->getVisibleSize();
899 this->scheduleUpdate();
cocos2d::Sprite * _sprite
static cocos2d::Vec2 center()
static cocos2d::Vec2 left()