我目前正在使用cocos2d創建一個點並點擊app的應用程序。然而,在我目前的實現中,碰撞檢測條件只有在我點擊左上角而不是精靈內的任何地方時纔是正確的。如果我將錨點位置設置爲0,這會讓事情變得更好,但這會導致我的旋轉精靈功能中斷。cocos2d sprite碰撞檢測
這裏是我的代碼,任何人都可以在這裏發現任何錯誤? 在我的初始化代碼
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;
}
任何幫助,將不勝感激
感謝球員們,我在你的幫助下對它進行了整理,同樣這條線沒有幫助旋轉,擺脫了它解決了部分問題 – godzilla 2012-03-25 01:44:08
[selSprite runAction:[CCRotateTo actionWithDuration:0.1 angle:0]]; – godzilla 2012-03-25 01:44:54