2013-03-13 78 views
0

我的目標是在屏幕上獲取一串方塊來檢測滑動手指,並且只有在滑動手指前方的方塊時纔會執行其功能。我想知道是否有人有任何好的建議或想法使用?我想我會創建一個NSMutableArray,使用一個結構來包含每個正方形的點,然後將結構包裝在NSValue中,然後將其添加到數組中。然後我想我會用一個循環來讀取數組並在屏幕上創建所有的方塊。但是,當手指滑過它們時,我該如何檢測這些方塊?我需要在循環中設置它嗎?有沒有人有什麼建議?對不起,我對iOS遊戲開發有點新鮮。世界!在屏幕上製作多個對象檢測手指滑動?

回答

0

我對你的問題有點困惑,但我認爲你在找什麼如下:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
UITouch *touch = [[event allTouches] anyObject]; 
CGPoint touchLocation = [touch locationInView:self.contentView]; 

for (UIView *view in self.contentView.subviews) 
{ 
    if ([view isKindOfClass:[MyCustomView class]] && 
     CGRectContainsPoint(view.frame, touchLocation)) 
    { 

    } 
} 

}

這將檢測屏幕上的對象隨時被觸摸。如果這不能解決您的問題,請讓我知道我會嘗試修改以更好地解決問題

+0

也有辦法做到這一點,而不檢查類的類型,但由於您使用多個方塊(我假設他們都是同一類)我認爲使用isKindOfClass可能是最好的路線。 – 2013-03-13 15:54:33

+0

謝謝你的回答!對不起,它不明確!我們的想法是使用陣列中的座標爲它們的位置創建一堆這些正方形。然後,我希望能夠檢測到什麼時候滑過,然後它將執行其功能。但是,廣場只能按順序滑過。例如:如果方形1尚未滑過,則方形8將不起作用。 – 2013-03-14 00:42:58

+0

有沒有辦法檢查被滑動對象上的變量?例如:if(theSlidOverObject.aValue = something){} else {}? – 2013-03-14 00:47:12