В настоящее время я создаю приложение для точки и клика для iphone, используя cocos2d.Однако в моей текущей реализации условие обнаружения столкновения выполняется только в том случае, если я щелкаю в верхнем левом углу, а не где-нибудь внутри спрайта.Если я установлю позицию привязки на 0, это улучшит ситуацию, однако это приведет к поломке функции вращающегося спрайта.
Вот мой код, может кто-нибудь заметить что-то не так здесь?в моем коде инициализации
if( (self=[super init]))
{
cocosGuy = [TouchableSprites spriteWithFile: @"Icon.png"];
//[cocosGuy setAnchorPoint:CGPointMake(0, 0)];
cocosGuy.position = ccp( 200, 300 );
//[cocosGuy setPosition: ccp(100,100)];
[self addChild:cocosGuy];
self.isTouchEnabled = YES;
}
в touchBegan я определяю, касалось ли изображение
CGPoint pt = [touch locationInView:[touch view]];
CGPoint ptConv = [[CCDirector sharedDirector] convertToGL:pt];
CGSize size = [cocosGuy contentSize];
CGPoint point = [cocosGuy position];
CGRect rect = CGRectMake(point.x, point.y, size.width, size.height);
if (CGRectContainsPoint(rect, ptConv))
{
retValue = YES;
}
Любая помощь будет принята с благодарностью