【发布时间】:2014-01-11 10:14:55
【问题描述】:
至少玩过一次关卡后,我的游戏中的力量条无法正常工作。所以我写了一个方法,使用CCLog来注销一些变量,并在update:方法中调用这个方法。而且我还设置了一个断点,当出现这个问题时它会进入 Xcode 的调试模式,然后我使用 print 来检查变量。但是,使用 CCLog 和使用打印命令之间的值似乎不同。这是一个解释一切的屏幕截图。
这是我的截图:
它是否与多线程有关(我对此一无所知)?我检查了每个记录变量的声明,以确保它们没有使用相同的名称多次声明。
【问题讨论】:
-
尝试在
consumeStrength内调用[self cclogStrength]。我很确定这些值将是相同的。 -
我试过 [self cclogStrength],你是对的。值是相同的。这和放出上次玩的关卡场景有关系吗?测试流程为: 1 运行游戏 2 选择关卡场景 3 玩关卡 4 赢,回到关卡场景 5 再玩关卡。它有时只出现在第 5 步。
-
我再次测试,发现Gamelayer场景的_strengthbar和包含错误的strengthbar的内存地址不同。但是正确的时候(第一次玩),两个地址是一样的。
-
我现在确定旧关卡场景没有正确发布。所以每次触摸都会被两个场景接收。这个问题似乎与CCBReader有关。我不知道我能做些什么,因为我正在使用 ARC。
标签: objective-c c xcode cocos2d-iphone