0
基本上,我有一個自定義類,它有一個繪製方法,從a點到b點繪製一條線。如果我使用ccDrawLine作爲自定義類的一部分,它可以檢測到觸摸嗎?
我對CCSprite進行了繼承,那麼該行就有一個邊界框,我可以用它來檢測何時有人觸及了該行?
至於是什麼,我試圖完成一個例子,我拼湊起來的這段代碼:
- (void)ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
UITouch* touch = [touches anyObject];
CGPoint location = [touch locationInView: [touch view]];
location = [[CCDirector sharedDirector] convertToGL: [touch locationInView:touch.view ]];
for (Path *path in paths) {
CGRect pathRect = CGRectMake(path.position.x, path.position.y, path.contentSize.width, path.contentSize.height);
if(CGRectContainsPoint(pathRect, location)) {
CCLOG(@"Line Touched");
}
}
}
路徑是路徑對象的可變數組。我在方法中的每個語句之後都放置了日誌,並且它通過了除for循環之外的所有內容。出於某種原因,它似乎永遠不會進入循環。