2013-09-21 28 views
0

我在Xcode 4.6.3的Interface Builder中有一個視圖。在這個視圖中,我有小的UIImageViews。第一個UIImageView位於視圖的上半部分,第二個位於視圖的下半部分。我想同時移動這兩個視圖(這是兩個玩家的多人遊戲,當這兩個玩家同時移動此UIImageViews ,但每個人都在自己的方向)。上半部分視圖中的頂部UIImageView和視圖下半部分中的底部UIImageView對應。目前,我有一個讓我只移動一個對象的代碼(對象是「球員」,這是底部的UIImageView):如何移動2個對象在Xcode 4.6.3中添加相同的時間?

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 

     UITouch *drag = [[event allTouches] anyObject]; 
     player.center = CGPointMake(drag locationInView:self.view); 

} 

謝謝!

+0

你從一個對象在點的偏差。爲什麼不在相同的拖動方法中爲第二個對象使用相同的偏差? –

+0

哦,對不起,我不明白你:(你能否請詳細解釋一下嗎? – vanelizarov

+0

從我看過的文字看來,似乎並不是一個多人遊戲類型的問題,你希望能夠捕捉到兩者的聯繫對象,並讓他們有點做他們自己的動作?你有沒有看過使用UIGestureRecognizers爲你放置在屏幕上的每個單獨的對象?如果是這樣的話,看看這個:http://stackoverflow.com/questions/13879666/uigesturerecognizer這對於如何實現這一點來說是非常明確的,更重要的是,這可能會讓你有更多的2個物體在我懷疑你想要的同時移動。 –

回答

0

(NSSet *)touches有點像一系列的觸摸。如果在屏幕上檢測到2個觸摸,觸摸將有2個對象。通過他們枚舉像這樣:

NSSet *allTouches = [event allTouches]; 
for (UITouch *touch in allTouches) {} 

會給你一個UITouch對象,所以你可以檢查,看看它的屏幕的哪個部分,看看它是哪名球員。

順便說一句CGPointMake(drag locationInView:self.view)應該CGPointMake([drag locationInView:self.view])

相關問題