我在屏幕的一侧有一个滚动视图,里面装满了 CCSprites,我希望能够将其中一个拖入屏幕的主要区域。我只需要找到用户开始拖动的 Sprite。
我试图将 Touch 位置移动到每个 Sprites 坐标空间中,但数字到处都是。
位置是Touch->getStartLocationInView()
ScrollViewItems 是一个Vector<Sprite*>
string HelloWorld::SpriteNameForPosition(cocos2d::Vec2* position)
{
for(Vector<Sprite*>::iterator iter = scrollViewItems.begin() ;iter != scrollViewItems.end();iter++)
{
Sprite* sprite = *iter;
Vec2 spriteTouchPos = sprite->convertToNodeSpace(*position);
Rect bounds = Rect(0, 0, sprite->getBoundingBox().size.width, sprite->getBoundingBox().size.height);
if(bounds.containsPoint(spriteTouchPos))
{
return names[sprite->getTag()];
}
}
return "";
}