【发布时间】:2014-09-20 19:56:18
【问题描述】:
我正在 XCode 的 SpriteKit 上编写游戏。我有一个变量 NodeGamePlay(一个 SKNode),当我按下暂停按钮时,我将其设置为 NodeGamePlay.paused=true。我通过分散在我的代码中的各种 NSLog 语句跟踪了这一点,当我设置 NodeGamePlay.paused=true 时,游戏实际上暂停了,但它似乎有点随意取消暂停(我什至在代码中的任何地方都没有 NodeGamePlay.paused=false)。
无论如何,当它被错误地更改为paused=false 时,我没有成功追踪。我尝试使用“观察变量”功能来观察变量 NodeGamePlay,但调试不会停止/提醒我 NodeGamePlay 在真假之间切换。我想知道是否有某种方法可以跟踪此属性并在值更改后立即停止调试?
【问题讨论】:
-
需要观察具体
NodeGamePlay对象的实例变量_paused。 -
谢谢Droppy,我是一个初级程序员,你介意解释一下我将如何做到这一点吗? PS:在底部调试变量窗口中,我添加了一个表达式“NodeGamePlay.paused”,它理解为一个布尔值,但它给了我一个错误“未能为 NodeGamePlay.paused 创建观察点”;有什么想法吗?
-
在可以看到对象的地方打断并展开变量,直到可以看到
_block实例变量,然后添加观察点(右键单击)。 -
是的
.paused是getter/setter;您需要使用支持实例变量。 -
也可以试试 quicklook 插件,这样你就可以真正看到 SK 类属性(和 ivars,甚至是私有属性):github.com/KoboldKit/SpriteKit-QuickLook
标签: objective-c xcode debugging variables sprite-kit