[英]SFML: How to solve sprite quality drop when rotating a sprite in sfml
[英]How To Change A Sprite Image When Tapped
我知道这可能是有史以来最容易回答的问题之一,但是我进行了一些搜索,但似乎找不到答案。...当用户在Cocos2d中点击它时,如何更改子画面图像-X?
我知道的唯一方法是使用如下菜单图像:
auto box = MenuItemImage::create("box_untapped.png", "box_tapped.png");
但这仅会在用户点击图像时更改图像。.即使他们放开按钮,如何使图像保持不变?
这段代码不需要任何菜单/按钮/ ...,而是一个Touch Listener
:
auto mySprite = Sprite("A.png");
auto touchListener = EventListenerTouchOneByOne::create();
///
touchListener->onTouchBegan = [=](Touch* touch, Event* event){
auto target = static_cast<Sprite*>(event->getCurrentTarget());
Point locationInNode = target->convertToNodeSpace(touch->getLocation());
Size s = target->getContentSize();
Rect rect = Rect(0, 0, s.width, s.height);
if (rect.containsPoint(locationInNode))
{
mySprite->setTexture("B.png"); // Here
return true;
}
return false;
};
touchListener->onTouchEnded(Touch* touch, Event* event)
{
mySprite->setTexture("B.png"); // Or Here
}
_eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, mySprite);
希望有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.