我的场景中有三个精灵。我必须制作一个触摸事件,其中玩家可以拖动其中一个精灵。我的问题是这些精灵非常薄,每当我尝试拖动其中一个时,边界框看起来非常大,所以即使我触摸空白区域并拖动,精灵也会移动。这就是我试图做到的方式。
NSSet *allTouch = [event allTouches];
UITouch *touch = [[allTouch allObjects]objectAtIndex:0];
CGPoint loc = [touch locationInView:[touch view]];
loc = [[CCDirector sharedDirector]convertToGL:location];
//Swipe Detection - Beginning point
beginTouch = location;
for(int i = 0; i < [objArray count]; i++)
{
CCSprite *sprite = (CCSprite *)[objArray objectAtIndex:i];
CGRect spriteRect = CGRectMake(sprite.position.x - (sprite.contentSize.width/2), sprite.position.y - (sprite.contentSize.height/2), sprite.contentSize.width, sprite.contentSize.height);
if(CGRectContainsPoint(spriteRect, location))
{
//actions here
}
}
如何将边界框设置为与精灵的大小完全相同?