- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Yosemita 10.10 上的 Eclipse(不是 Xcode)中编程...我 try catch MouseMoved 事件,但它没有被调用(mouseDown、mouseDragged - 工作正常)。所以我使用这里的示例代码 http://lists.apple.com/archives/mac-opengl/2003/Feb/msg00069.html但编译器显示错误
[应用程序setDelegate: View ];(- 无法使用“NSView *”类型的左值初始化“id”类型的参数)
如果我评论这一行 - 它可以工作,但 mouseMoved 不会调用。
请帮忙!我是 Objective-c 的新手
最佳答案
OS X 不会自动为您跟踪鼠标移动事件,除非您请求。
为了接收 mouseMoved:
事件,您应该将 NSTrackingArea
添加到 NSOpenGLView
的子类中。例如:
- (void)awakeFromNib {
NSTrackingArea *trackingArea = [[NSTrackingArea alloc] initWithRect:self.frame options:NSTrackingActiveAlways|NSTrackingMouseMoved owner:self userInfo:nil];
[self addTrackingArea:trackingArea];
}
之后,您的 mouseMoved:
方法将被调用。
- (void)mouseMoved:(NSEvent *)theEvent {
NSLog(@"moved");
}
如果您需要在 View 大小调整时手动更新跟踪区域,则可以选择实现 updateTrackingAreas
。详情请引用Using Tracking-Area Objects .
关于objective-c - Cocoa NSOpenGLView - [win setDelegate :view ] shows error. 如何手动委托(delegate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30369995/
我正在使用 Cocoa 窗口和 NSOpenGLView 尝试 OpenGL 3.2。但是我无法让 NSOpenGLView 绘制红色。我只得到一个白色的窗口。这是我的代码(在 NSOpenGLVie
我一直在尝试让 NSOpenGLView 在调整窗口大小时正确调整大小,但我不断收到无法解释的奇怪行为。看起来像这样: 原始(一开始的样子): 调整大小后: 这是我的调整大小代码: - (void)r
我已经重写了 NSOpenGLView 来处理键盘事件。事件检测工作正常,但每次我按下一个键时,我都会听到恼人的碰撞声。我怎样才能让我的观点冷静下来? 这是我的 keyUp: 方法的样子: -(voi
我有一个 NSWindow 子类 (GameWindow),其中包含一个 NSOpenGLView 子类 (GameView)。 应用程序是窗口化的(不会全屏显示)。 GameView 中的 Open
我目前正在尝试以编程方式创建一个简单的 cocoa NSWindow,而不是使用界面生成器(我有这样做的理由)。这是一个快速测试: int main(int argc, char** argv)
我需要在现有应用程序中的 NSOpenGLView 之上显示一些 Cocoa 小部件。我按照 Apple 的 LayerBackedOpenGLView 示例代码中的示例进行操作。 NSOpenGLV
我正在尝试使用 Cocoa API 创建一个 OpenGL 应用程序,现在一切正常,除了一件事。当调整主窗口大小时,GL 上下文似乎没有正确更新。 这是用于设置窗口和渲染上下文的代码。 主窗口: m_
我创建了一个带有 NSOpenGLView 的窗口,我正在将 openGL 内容渲染到其中。 我想向 View 添加一些按钮和文本字段:我可以使用界面生成器(或代码)添加 NSTextFields 和
我有一个旧的基于 AGL 的 OpenGL 窗口系统,我正在更新它以使用 NSOpenGLView。使用它的引擎需要在单独的线程中以自己的循环运行,我无法让它工作。使用 AGL,我在循环线程中创建了上
我有一个名为 ModelView 的类,它继承自 NSOpenGLView。当我的程序运行时,我按如下方式将 ModelView 附加到主窗口。 - (void)applicationDidFinis
我正在尝试创建一种在全屏和窗口之间切换的方法。我试图在继承自 NSOpenGLView 的类中执行此操作, 基本上遵循 this blogpost 。从窗口到全屏,这一次有效;尝试返回以各种方式失败:
我想在纹理大小更改时更新我的 NSOpenGLView 窗口。没关系。发生这种情况时我注册了事件,但无法调整 OpenGLView 的大小。正在更改的值是 w 和 h。 -(void)initOp
我有一个 480x320 NSOpenGLView,我想将其放大到 960x640,但像素显示为尺寸的两倍(并且清晰)。 如果我打电话 [myglview setFrame:CGRectMake(0,
我有一个 NSOpenGLView 和 OpenGL 代码,可与在主循环中运行的 NSTimer 一起使用(调用 setNeedsDisplay 和 drawRect)。我想使用 CVDisplayL
我已将 NSOpenGLView 添加到我的 MainMenu.xib 文件中,并实现了 drawRect 来绘制它,这效果很好,所以到目前为止一切顺利。 如何检测屏幕上的触摸?我想我也许可以在 In
这就是我想用我的 NSOpenGLView 做的事情。目前 NSOpenGLView 覆盖了窗口的整个区域,我想在 NSOpenGLView 顶部添加按钮、nsviews 和图像。我浏览了网页,发现
我正在尝试修改 Apple MultiGPUIOSurface 示例(特别是文件 http://developer.apple.com/library/mac/#samplecode/MultiGPU
当我将 NSOpenglView 放入 NSSplitView 时,拖动拆分器时出现问题。openGLView 和 SplitView 正在异步调整大小。我在苹果邮件列表线程中找到了解决方案 http
我有一个在 Mac OS X 上渲染 OpenGL 内容的应用程序。最初它是渲染到 NSOpenGLView,然后我将它更改为渲染到 CAOpenGLLayer 子类。 当我这样做时,我看到了巨大的性
我正在尝试检查我的 NSOpenGLView 是否具有有效的上下文,但似乎对 openGLContext 的调用无法帮助我解决这个问题。 openGLContext 似乎总是返回一个 NsOpenGl
我是一名优秀的程序员,十分优秀!