我已经在我的MainMenu.xib文件中添加了一个NSOpenGLView,并实现了drawRect来绘制它,这工作得很好,到目前为止还不错。
如何检测屏幕上的触摸?我想我也许可以在界面生成器中的NSOpenGLView区域中转储一些透明的按钮或其他东西?
这个应用程序很简单,我只需要知道网格的哪个区域被触摸了。
发布于 2010-01-06 07:00:01
不需要添加透明按钮或覆盖。
我假设这是用于电话的,因为您提到了Cocoa Touch,但我不知道电话的NSOpenGLView。您需要查看苹果示例,并通过覆盖子类中的+layerClass来创建一个EAGLView,如下所示:
+ (Class)layerClass {
return [CAEAGLLayer class];
}接下来,确保在IB中选中"User Interaction Enabled“。
最后,实现触摸方法调用:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;这些将告诉你用户在哪里触摸了表面,以及用了多少根手指。你可以从那里做剩下的事情。尝试创建模板OpenGL项目并查看它。此外,Jeff LaMarche在他的博客上有一些很好的iPhone OpenGL教程:http://iphonedevelopment.blogspot.com/
https://stackoverflow.com/questions/2008987
复制相似问题