从touchesBegan获取触摸位置? (和其他游戏问题)

时间:2010-07-04 21:35:12

标签: iphone opengl-es touch

我正试图从

获取触摸事件的位置

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

我可以使用哪些代码来读取触摸坐标?到目前为止,我已经走到了这一步:

NSLog(@"Touch data: %@", [NSString stringWithFormat:@"NSSet: %@",[touches description]]);

我正在尝试使用OpenGL模板应用程序制作游戏。触摸仅在EAGLView文件中注册,而不是ESRenderer1文件。我假设我应该使用EAGlView来设置变量,然后从那里读取变量到ESRenderer来执行游戏计算。这是一个好方法吗?

1 个答案:

答案 0 :(得分:16)

以下代码执行此操作:

NSArray *touchesArray = [touches allObjects];
for(int i=0; i<[touchesArray count]; i++)
{
    UITouch *touch = (UITouch *)[touchesArray objectAtIndex:i];
    CGPoint point = [touch locationInView:nil];

    // do something with 'point'
}