Sprite Kit:删除底角的调试标签
Posted
技术标签:
【中文标题】Sprite Kit:删除底角的调试标签【英文标题】:Sprite Kit: Remove debugging label at bottom corner 【发布时间】:2014-04-17 05:22:11 【问题描述】:我使用 Sprite Kit 开发了一个 ios 应用程序。任何使用 Sprite Kit 开发过 iOS 游戏的人都知道底角带有调试信息的标签。我试图删除底角的调试信息,它给出了节点数和 fps。 (例如 1 个节点 60.0 fps)
我在.m
文件中的-(id)initWithSize:(CGSize)size
方法中尝试了以下代码,但它似乎没有任何作用。这是删除调试标签的正确代码还是有更好的方法来删除标签?
SKView *spriteView = (SKView *) self.view;
spriteView.showsNodeCount = NO;
spriteView.showsFPS = NO;
【问题讨论】:
你试过“spriteView.showsDrawCount=NO”吗? 【参考方案1】:-(id)initWithSize:(CGSize)size
不是您执行此操作的方法。我猜你是在SKScene
的子类中这样做的。您应该在ViewContoller
中进行操作。转到viewWillLayoutSubviews
中的ViewController
。只需在代码中的某个地方找到您执行此操作的地方:
skView.showsFPS = YES;
skView.showsNodeCount = YES;
只需注释这两行或这样做:
skView.showsFPS = NO;
skView.showsNodeCount = NO;
希望这会有所帮助.. :)
【讨论】:
这应该有效。我也在用 SpriteKit 模板开发一个游戏,这就是我隐藏调试标签的方式。它在我的情况下有效。也许原始海报将它们设置回YES
其他地方......
@nicolasmiari > 我想是的。
@poojaM.bohora > 不,他在 SKScene 的子类中这样做。在 viewController 中没有。
@Rashad:是的,将代码放入 ViewController 是诀窍。正如您所指出的,我试图在 SKScene 的子类中使用它。谢谢。【参考方案2】:
在 Swift 中,你转到 GameScene.swift, 看看“skView.showsFPS”和“skView.showsNodeCount” 从“真”修复为“假”。 节点和 FPS 将在屏幕底部移除!祝你好运
【讨论】:
【参考方案3】:设置spriteView.showsDrawCount=NO
并检查一次。我认为您没有将其设置为 NO。
【讨论】:
【参考方案4】:您可以使用 DEBUG
编译器指令,因此此调试标签信息在开发过程中可见,但不会包含在 App Store 发布版本中。
// GameViewController.swift
override func viewDidLoad()
super.viewDidLoad()
let scene = self.sceneManager.scene
scene.gameDelegate = self
let skView = self.view as! SKView
skView.ignoresSiblingOrder = true
#if DEBUG
skView.showsFPS = true
skView.showsNodeCount = true
#endif
skView.presentScene((scene as! SKScene))
【讨论】:
以上是关于Sprite Kit:删除底角的调试标签的主要内容,如果未能解决你的问题,请参考以下文章