swift - 如何在 Swift 中隐藏光标?
问题描述
我正在尝试制作一个第一人称游戏,其中移动鼠标会改变相机角度,类似于第一人称模式或 Minecraft 中的 Roblox。怎么做?我在问如何做基本功能,所以没有代码可以提供。我只需要知道如何在 Swift 或更具体地说是 Metal 或 Cocoa 中隐藏和锁定光标位置。
解决方案
您可以继承 NSView,为鼠标进入和退出添加跟踪区域,覆盖 NSView 的 mouseEntered 和 mouseExited 方法,然后在此处隐藏和取消隐藏光标:
import Cocoa
class HiddenCursorView: NSView {
override func awakeFromNib() {
addTrackingArea(NSTrackingArea(rect: bounds, options: [.activeAlways, .mouseEnteredAndExited], owner: self, userInfo: nil))
}
override func mouseEntered(with event: NSEvent) {
NSCursor.hide()
}
@objc override func mouseExited(with event: NSEvent) {
NSCursor.unhide()
}
}
推荐阅读
- gradle - 我的 Gitlab CI/CD 管道在缓存中失败并出现 FATAL:文件不存在错误
- c++ - pybind11 中的编程绑定
- python - 将大量列表转换为数据框的内存问题
- java - CDI / WELD 构造函数注入最佳实践
- c++ - 使用 Treap 数据结构的动态图
- javascript - 如何从 Javascript 中具有不同值的字符串中提取子字符串?
- python - 为什么 vscode 在运行 python 文件之前会更改目录?
- javascript - 未捕获的类型错误:URL.createObjectURL:参数 1 对任何 1 参数重载都无效
- bootstrap-select - Bootstrap-select background color when an option is selected
- laravel - 在 Laravel 多对多关系中,有没有办法更新数据透视表中的数据?