0

我在 Xcode 4.6.3 的 Interface Builder 中有一个视图。在这个视图中,我有2个小的 UIImageViews。第一个 UIImageView 在视图的上半部分,第二个在视图的下半部分。我想同时移动这两个视图(这是两个玩家的多人游戏,当这两个玩家同时移动这个 UIImageViews,但每个人都在自己的方向)。视图上半部分的顶部 UIImageView 和视图下半部分的底部 UIImageView 对应。目前我的代码只允许我移动一个对象(对象是“播放器”,它是一个底部的 UIImageView):

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

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

}

谢谢!

4

1 回答 1

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])

于 2013-09-22T02:51:44.517 回答