我对Objective-C比较陌生,我试图制作游戏。
我目前有一个分数计数器:
-(void)score {
scorenumber++;
scorelabel.text = [NSString stringWithFormat:@"%i", scorenumber];
}
我遇到的问题是,我似乎可以让得分继续计数超过9.然后每次达到9它然后重置为0而不是进入10 11 12,所以第四。
我该如何解决这个问题?我想要完成的是,每次硬币和星星相交时,它都会增加+1分数,每次通过隧道时都会增加+1分数
继承了整个代码。
答案 0 :(得分:3)
您的问题是UILabel(或其他显示您号码的内容)不足以显示多个号码。当它达到10时,你只能看到第二个数字,这就是你认为它被重置为0的原因。
尝试制作更长的得分标签。
答案 1 :(得分:0)
如果您的设计允许您让标签具有不同的宽度,则可以使用sizeToFit
为其提供足够的宽度来显示其文字
-(void)score {
scorenumber++;
scorelabel.text = [NSString stringWithFormat:@"%i", scorenumber];
[scorelabel sizeToFit]; // <------------
}