2010-05-24 230 views
0

我有一个计时器设置,当玩家处于轮到阶段时它会被调用。我也有一个乘数,在玩家正在提交动作时递减。倒数计时器

由于一些奇怪的原因,我的mult变量正在返回垃圾值我在onLoad语句中将它初始化为1,但它似乎仍有问题。每次Timer触发该值时,都会立即在NsLog语句中显示为一个非常大的负数。 当我获得积分时,它会变成一个非常大的正数。

-(void) Timerbar:(NSTimer *)barTimer { 


if(!waitForPlayer) { 

    [barTimer invalidate]; 

} 
if(mult > 0.0) { 
    mult -= 0.01; 
    if(mult < 0) { 
    mult = 0; 
    } 
} 
power = (mult * 10)/pwrBarMaxWidth; 
pwrBarWidth = (int)power % limit; 
NSLog(@"%d", mult); 
} 

我在某处有语法错误吗?

编辑- 事实证明,我用错误的标识符来显示浮动。

回答

4

假设mult是float或double,那么您错误地使用了NSLog的打印格式。你想

NSLog(@"%f", mult); 

这里有一个很好的参考:

http://www.cocoadev.com/index.pl?NSLog

+1

良好的渔获!考虑到问题的模糊性。 – tomdemuyt 2010-05-24 21:35:52

+0

是的,那太棒了!如果我的问题有点大,我很抱歉。这是现场工作。 – Ohmnastrum 2010-05-26 18:03:01