拖动精灵的时候,速度慢的时候,一切正常,但是速度一快,精灵有时候就不动了,而且透明度还显示在onTouchBegan 的设置中。为啥呢?
代码如下:
auto sprite = Sprite::create("lobster.png");
sprite->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2));
this->addChild(sprite);
auto listener = EventListenerTouchOneByOne::create();
listener->onTouchBegan = =](Touch* _touch,Event* _event){
//auto touchSpritePoint = convertTouchToNodeSpace(_touch);
auto target = static_cast< Sprite* > (_event->getCurrentTarget());
if (target->boundingBox().containsPoint(_touch->getLocation()/*touchSpritePoint*/))
{
//sprite->setAnchorPoint(touchSpritePoint);
//设置透明度
target->setOpacity(18);
}
return true;
};
listener->onTouchMoved = =](Touch* _touch,Event* _event){
//1.auto touchSpritePoint = convertTouchToNodeSpace(_touch);
auto target = static_cast< Sprite* > (_event->getCurrentTarget());
if (target->boundingBox().containsPoint(_touch->getLocation()/*1.touchSpritePoint*/))
{
target->setPosition(target->getPosition() + _touch->getDelta());
}
};
listener->onTouchEnded = =](Touch* _touch,Event* _event){
//auto touchSpritePoint = convertTouchToNodeSpace(_touch);
auto target = static_cast< Sprite* > (_event->getCurrentTarget());
if (target->boundingBox().containsPoint(_touch->getLocation()/*touchSpritePoint*/))
{
//sprite->setAnchorPoint(touchSpritePoint);
//设置透明度
target->setOpacity(255);
}
};
Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,sprite);
```
童鞋们,有谁知道咋回事么