Xcode 在游戏中启用多点触摸?

Xcode 在游戏中启用多点触摸?,xcode,multi-touch,Xcode,Multi Touch,我正在用Xcode创建一个简单的乒乓球游戏。我有一个2人版本,两个桨都可以移动,功能完美。游戏是完美的,除了你不能同时移动两个桨,使得双人模式毫无用处 如何使两个拨杆同时移动? 我已经尝试过在Interface Builder中选择“Multiple Touch”(多点触摸)按钮,但它没有任何作用,我甚至不确定它是否是启用多点触摸的正确途径 此外,我的游戏是一个基于视图的应用程序,如果这很重要的话 谢谢 根据我的经验(这并不多)。您可以为两个挡板创建两个UI视图,在一个视图中触摸将移动一个挡板,

我正在用Xcode创建一个简单的乒乓球游戏。我有一个2人版本,两个桨都可以移动,功能完美。游戏是完美的,除了你不能同时移动两个桨,使得双人模式毫无用处

如何使两个拨杆同时移动? 我已经尝试过在Interface Builder中选择“Multiple Touch”(多点触摸)按钮,但它没有任何作用,我甚至不确定它是否是启用多点触摸的正确途径

此外,我的游戏是一个基于视图的应用程序,如果这很重要的话

谢谢

根据我的经验(这并不多)。您可以为两个挡板创建两个UI视图,在一个视图中触摸将移动一个挡板,而在另一个视图中触摸将移动另一个挡板。我希望这有帮助

如果你不知道如何分割视图,你可以简单地让它识别两个触摸

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch1 = [[event touchesForView:zone1] anyObject];
UITouch *touch2 = [[event touchesForView:zone2] anyObject];
if (touch1)
    touchOffset1 = paddle1.center.x - [touch1 locationInView:touch1.view].x;
if (touch2)
    touchOffset2 = paddle2.center.x - [touch2 locationInView:touch2.view].x;
}

你可以使用它,它可能不是最有效的,但如果你不知道如何分割触摸,它确实会起作用。

编辑:我看错了问题。添加了代码片段

下面是我在获得ToucheSBegind事件时提取所有触摸的代码:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSArray *touchesArray = [touches allObjects];
    NSUInteger nNumTouches = [touchesArray count];
    UITouch *touch;
    CGPoint ptTouch;
    for (int nTouch = 0;  nTouch < nNumTouches;  nTouch++)
    {
        touch = [touchesArray objectAtIndex:nTouch];
        ptTouch = [touch locationInView:self.view];

        // Do stuff with the touch
    }
}
-(void)touchesbeated:(NSSet*)toucheevent:(UIEvent*)event
{
NSArray*touchsarray=[触摸所有对象];
NSU整数nnumtouchs=[touchesArray count];
UITouch*触摸;
cgptouch;
对于(int-nTouch=0;nTouch
同样,touchesEnded和touchesMoved也是如此

self.view.multipleTouchEnabled = YES;

默认情况下,它是No

Hmm。。。我对这件事很不了解,我不知道我是否理解。如果我创建两个UIView,如何将它们添加到现有的挡板中?我更新了上面的代码,可能不是最好的实现,但事实是,您需要两个UIView才能知道player1或player2是否正在尝试移动它们的挡板。如果你只有一个视图,你怎么知道谁是谁呢?谢谢你的回复,但我说我试过了,结果没用。哎呀,对不起!你确定你的代码正在检查集合中的所有数组吗?这到底意味着什么?这是我的第一个真正的应用程序顺便说一句。。。谢谢嗯,我试着添加这个,并相应地对它进行个性化设置,但它的功能基本相同,如果有的话。嗯。。。你能详细描述一下你的问题吗?例如,用一个手指触摸,您是否获得触摸开始事件?现在移动手指,你能看到TouchsMoved活动吗?现在再加上一根手指,你会得到另一个触摸开始事件吗?现在移动两个手指,哪一个手指可以触摸移动事件?