Cocos2d iphone COCOS2D达到分数时更改级别的最佳方法
我有一些困难,使水平改变只有一次,当球员已经达到一定的分数在游戏中。每当球员们得到一个新的分数时,它就会不断地变化,这很烦人Cocos2d iphone COCOS2D达到分数时更改级别的最佳方法,cocos2d-iphone,Cocos2d Iphone,我有一些困难,使水平改变只有一次,当球员已经达到一定的分数在游戏中。每当球员们得到一个新的分数时,它就会不断地变化,这很烦人 //Change the level if(score >= 600){ level = level+1; [levellabel setString:[NSString stringWithFormat:@"%d",level]]; id ScaleU
//Change the level
if(score >= 600){
level = level+1;
[levellabel setString:[NSString stringWithFormat:@"%d",level]];
id ScaleUp = [CCScaleTo actionWithDuration:0.3 scale:14.0 ];
id ScaleDown = [CCScaleTo actionWithDuration:0.3 scale:1.0 ];
[levellabel runAction:[CCSequence actions:ScaleUp, ScaleDown, nil] ];
}
我还尝试将if语句设置为if(score>=600&&score=2000),但如果这样做,似乎什么也不会发生
我做错了什么?如果您对标高进行了控制,并在标高上设置了最大上限,请执行以下操作
-(void)addLevel
{
level = level+1;
[levellabel setString:[NSString stringWithFormat:@"%d",level]];
id ScaleUp = [CCScaleTo actionWithDuration:0.3 scale:14.0 ];
id ScaleDown = [CCScaleTo actionWithDuration:0.3 scale:1.0 ];
[levellabel runAction:[CCSequence actions:ScaleUp, ScaleDown, nil] ];
}
-(void)newScore
{
int target = 0;
switch(level):
{
case 1:
target = 600;
break;
case 2:
target = 1000;
break;
case 3:
target = 2000;
break;
}
if(score>=target)
[self addLevel];
}
如果其无穷大且遵循标准公式,在本例中,每1000分增加一级,则应为:
-(void)addScore
{
int nxtLvl = level +1;
if(score>=1000*nxtLvl)
[self addLevel];
}
感谢您的快速回复!我使用了第二种选择,效果很好:Dso您对每个级别都有自定义分数?不是“标准”公式?老实说…我还没有决定。到目前为止,我只是每10000分更改一个级别。