myStr = [NSString stringWithFormat:@"Best Score:", counter];
变量“counter”每次都会改变敌人的命中值。但在信息输出中,我总是收到零,如“最佳得分:0”。帮助理解并解决该问题。
Class Texture&我从约翰沃德来自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 :(得分:3)
尝试:
myStr = [NSString stringWithFormat:@"Best Score: %d", counter];
和%d是整数类型,如果counter是float
myStr = [NSString stringWithFormat:@"Best Score: %f", counter];
答案 1 :(得分:1)
使用以下
myStr = [NSString stringWithFormat:@"Best Score: %d", counter];
答案 2 :(得分:0)
正如其他人所建议的那样,您缺少变量的占位符。我只是想提供一些背景知识:
NSString
支持为ANSI C函数printf()
定义的格式字符,以及任何对象的%@
。
在格式字符串中,%
字符宣布值的占位符,后面的字符决定了预期值的类型以及如何格式化,即format specifiers。