"T05Touch.h" bool T05Touch::init(); { // 一般使用这种方式,和一个Node相关联 EventListenerTouchOneByOne* ev = EventListenerTouchOneByOne::create(); ev->onTouchBegan = [](Event*){return true; }; // ev->onTouchEnded = [](Touch*,Event*){}; ev->onTouchEnded = CC_CALLBACK_2(TouchEnded,this); _eventDispatcher->addEventListenerWithSceneGraphPriority(ev,this); } #if 0 { // 固有优先级的方式使用比较少 create(); ev->setSwallowTouches(true); ev->onTouchBegan = [](Event*){"Touch Begin"); return true; }; _eventDispatcher->addEventListenerWithFixedPriority(ev,-128); } #endif { Sprite* node = Sprite::create(); addChild(node); Touch* touch,133); font-family:新宋体; font-size:9.5pt">Event*){ //通过touch->getLocation()的方式获得被选中的点的位置 Vec2 pt = touch->getLocation(); "Sprite is touched,pt.x=%f,pt.y=%f",pt.x,pt.y); return true; }; // ev->onTouchEnded = [](Touch*,Event*){}; // ev->onTouchEnded = CC_CALLBACK_2(T05Touch::TouchEnded,this); _eventDispatcher->node); } { EventListenerTouchAllAtOnce* ev = EventListenerTouchAllAtOnce::create(); ev->onTouchesBegan = [](const std::vector<Touch*>&,133); font-family:新宋体; font-size:9.5pt">Event*){}; _eventDispatcher->this); } return true; } void Event*){ } |