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

Mos*_*she 7 iphone opengl-es touch

我正试图从屏幕上获取触摸事件的位置

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

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

NSLog(@"Touch data: %@", [NSString stringWithFormat:@"NSSet: %@",[touches description]]);
Run Code Online (Sandbox Code Playgroud)

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

Jim*_*uck 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'
}
Run Code Online (Sandbox Code Playgroud)

  • 我选择使用`for(UITouch*touch in touches){/*...*/}`.(快速枚举!) (5认同)