gpt4 book ai didi

objective-c - 检测 NSOpenGLView 上的触摸

转载 作者:行者123 更新时间:2023-12-03 16:45:00 25 4
gpt4 key购买 nike

我已将 NSOpenGLView 添加到我的 MainMenu.xib 文件中,并实现了 drawRect 来绘制它,这效果很好,所以到目前为止一切顺利。

如何检测屏幕上的触摸?我想我也许可以在 Interface Builder 中的 NSOpenGLView 区域转储一些透明按钮或其他内容?

应用程序很简单,我只需要知道网格的哪个区域已被触摸。

最佳答案

无需添加透明按钮或覆盖层。

我假设这是针对手机的,因为您提到了 Cocoa Touch,但我不知道针对手机的 NSOpenGLView。您需要查看 Apple 示例并通过重写子类中的 +layerClass 创建 EAGLView:

+ (Class)layerClass {
return [CAEAGLLayer class];
}

接下来,确保在 IB 中选中“用户交互已启用”。

最后,实现触摸方法调用:

- (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/

关于objective-c - 检测 NSOpenGLView 上的触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2008987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com