如何在启动 OSX spritekit 应用程序时设置自定义光标?

Posted

技术标签:

【中文标题】如何在启动 OSX spritekit 应用程序时设置自定义光标?【英文标题】:How to set a custom cursor at the launch of an OSX spritekit app? 【发布时间】:2015-04-24 03:22:21 【问题描述】:

所以我想在我的 spritekit 游戏中使用自定义光标。我只能通过将它添加到我的第一个场景来让它工作:

override func mouseEntered(theEvent: NSEvent) 
    let myCursor: NSCursor = NSCursor(image: NSImage(named: "cursor")!, hotSpot: NSPoint(x: 0.5, y: 0.5))
    self.view?.addCursorRect(self.frame, cursor: myCursor)

但是,在我单击两次并移动鼠标之前,这不会将光标更改为我的自定义光标。我真正想要的是在应用程序启动后立即显示新光标。有任何想法吗?在 ApplicationDidFinishLaunching 中添加光标不起作用。

【问题讨论】:

【参考方案1】:

通过将您的代码放入精灵套件的 didMoveToView 函数中,它对我有用:

override func didMoveToView(view: SKView) 
    super.didMoveToView(view)

    // Show custom mouse cursor
    let myCursor: NSCursor = NSCursor(image: NSImage(named: "cursor")!, hotSpot: NSPoint(x: 0.5, y: 0.5))
    self.view!.addCursorRect(self.frame, cursor: myCursor)

【讨论】:

以上是关于如何在启动 OSX spritekit 应用程序时设置自定义光标?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 SKAction 序列在解码后重新启动?

如何在情节提要中创建一个按钮以启动在 xcode swift 中使用 spritekit 创建的游戏

我如何让 Genymotion 在 OSX 中启动时不会崩溃?

SpriteKit 游戏加载屏幕(不是启动画面)

Spritekit如何运行一个方法一段时间,然后启动另一个

如何使用 swift 使用带有 spriteKit 的情节提要