void ReTouch::show()
{
refg=cal->getFlag();
for(int i=0;i<maxX;++i)
{
for(int j=0;jsetPressedActionEnabled(true);
btnSprite*->setPosition(Point(40+i*40,120+j*40));
this->addChild(btnSprite*,2);
btnSprite*->addTouchEventListener(this,toucheventselector(ReTouch::onClick));
}
}
}
void ReTouch::onClick(Ref* ref,TouchEventType type)
{
Button* btn=dynamic_cast(ref);
switch (type)
{
case TouchEventType::TOUCH_EVENT_BEGAN://单击事件开始时触发
{
x1=btn->getPositionX();
y1=btn->getPositionY();
break;}
case TouchEventType::TOUCH_EVENT_MOVED://按下之后,进行移动操作时触发
break;
case TouchEventType::TOUCH_EVENT_ENDED://按下之后。然后松开时触发,触发进行消除操作
{
//判断横竖是否相同,相同就消除,并调用下落函数
x2=btn->getPositionX();
y2=btn->getPositionY();
break;
}
case TouchEventType::TOUCH_EVENT_CANCELED://因为一些特殊情况而中断时触发
break;
default:
break;
}
}
```
以上代码中
case TouchEventType::TOUCH_EVENT_MOVED://按下之后,进行移动操作时触发
break;
事件中,怎么实现点击button后,鼠标移动,然后button跟随移动啊?难道还是用触屏事件来实现?********
cocos2d的触摸事件分发机制.
分发给你了. 就一直是你的. 直到你松开按钮.
你在移动的地方移动btn就可以了啊. 不会触发新的 TOUCH_EVENT_BEGAN
但是移动不了啊????
什么叫移动不了?按钮重新设置position就可以了啊
哦哦,恩恩,好的,谢谢啦~~~