使用CCLog并在调试模式下使用print时,为什么变量的值不同?

时间:2014-01-11 10:14:56

标签: objective-c c xcode cocos2d-iphone

在玩至少一次关卡后,我游戏中的力量栏不能很好地运作。所以我用CCLog写了一个方法来注销一些变量并在update:方法中调用这个方法。我还设置了一个断点,当这个问题出现时它进入Xcode的调试模式,然后我用print来检查变量。但是,使用CCLog和使用print命令之间的值似乎不同。这是一个解释所有内容的截图。

以下是我的截图:

enter image description here

它与多线程有什么关系(我对此一无所知)?我检查了每个记录变量的声明,以确保它们没有使用相同的名称多次声明。

2 个答案:

答案 0 :(得分:1)

好的,问题解决了。

当我写一些委托时,我使用了“强”,导致一些保留周期。现在我将它们全部更改为Weak,并将部署设置更改为iOS 5(或更高版本)。

变量的值不同的原因是因为在CCLog中,该值属于新场景,但是由于保留周期,同时接收我的触摸的场景不止一个。 XCode或Cocos2d或CCBReader没有错:-p

希望这个答案可以帮助别人。非常感谢@ Cy-4AH。

答案 1 :(得分:0)

因为它在打印后被更改了。在断点处,您正在寻找新的价值。