2011-05-14 154 views
1

嗨親愛的開發者!我只寫了我的第一個iphone遊戲。但我面臨的信息輸出問題如下變量總是等於零

myStr = [NSString stringWithFormat:@"Best Score:", counter]; 

變量「counter」每次都改變敵人命中時的值。但在信息輸出中,我總是收到一個零,如「最高分:0」。幫助理解並解決這個問題。

類紋理&雪碧我從約翰·沃德得到了www.karmatoad.co.uk

一些代碼在這裏:

myStr = [NSString stringWithFormat:@"Best Score:", counter]; 
_Texture = [[Texture alloc] initWithText: myStr fontSize:24]; 
_Sprite = [[Sprite alloc] initWithTexture: _Texture]; 
[_Sprite drawSprite]; 

回答

0

正如其他人所建議的,您缺少變量的佔位符。我只是想提供一些背景:

NSString支持爲ANSI C函數printf()定義的格式字符,加上%@的任何對象。

在格式化字符串中,%字符宣告一個值的佔位符,其後面的字符決定了預期值的種類以及如何格式化,即format specifiers

1

使用下面

myStr = [NSString stringWithFormat:@"Best Score: %d", counter]; 
3

嘗試:

myStr = [NSString stringWithFormat:@"Best Score: %d", counter]; 

和%d是一個整數類型,如果計數器是浮點數

myStr = [NSString stringWithFormat:@"Best Score: %f", counter];