我真的很難得到像檢測到精靈上的觸摸工作一樣簡單...任何人都可以幫忙嗎?我試圖創建一個方法作爲CCSprite的類別,如果點在精靈範圍內,給定點或觸摸將返回YES,如果不是,則返回NO。檢測觸摸小精靈並convertToNodeSpaceAR
目前,我已經一個實現,似乎當精靈是不是從Zwoptex裁剪紋理(即用於精靈的形象並沒有剪斷)的部分工作
CGPoint point = [touch locationInView:[touch view]];
point = [[CCDirector sharedDirector] convertToGL: point];
CGRect spriteRect = self.textureRect;
spriteRect.origin = ccpAdd(ccpSub(self.positionInPixels, self.anchorPointInPixels), self.offsetPositionInPixels);
return CGRectContainsPoint(spriteRect, point);
我已經雖然發現如果精靈在原始紋理中被修剪,這不起作用。這種變化似乎這樣的伎倆
CGRect spriteRect = self.textureRect;
spriteRect.origin = ccpAdd(self.offsetPositionInPixels, self.positionInPixels);
return CGRectContainsPoint(spriteRect, [self convertTouchToNodeSpaceAR:touch]);
但現在我有另一組從幀緩存中的精靈,似乎不喜歡這個的!他們被修剪,我看不出與上面的代碼使用的精靈有什麼不同。有人可以說明convertTouchToNodeSpaceAR的含義嗎?我敢肯定,問題在於我的無知,並且在Cocos2d框架中有這樣一種常見的優雅方式...
你好,我很想去選擇1,但我不確定我的精靈在什麼點系統以及有哪些系統可用。我只是很關心convertToNodeSpace方法的功能...... – fedmest 2011-04-05 13:57:09