我有一个游戏,用户必须在两个物体之间以垂直的方式移动球,我想有一个得分系统,每次球等于2个物体时我可以加1分数所以我尝试了下面的代码,但它可能不起作用,每次球的坐标等于对象的协调时,它不会添加一个。
if(imageview.center.y == imageview1.center.y){
int score = score + 1;
scorelabel.text = [NSString stringWithFormat:@"%i",score];
}
答案 0 :(得分:1)
我假设你的imageview.centre.y与imageView1.centre.y不同。你也可以使用这个方法 CGRectIntersection (< #CGRect r1#>,< #CGRect r2#>)并将两个框架放在提供的字段中。因此,只要存在两个帧的交集,它就会通知。代码就像 -
if (CGRectIntersectsRect(self.pacman.frame, self.exit.frame))
{
//Wirte your score handling code here...
}
else
{
//Skip or do what you want...
}
希望这对你有所帮助。
答案 1 :(得分:0)
每次if
执行时都会重新创建变量。
在@implementation
int score = 0;
将int score = score + 1;
替换为score++
答案 2 :(得分:0)
作为评论,您应该了解double
的比较。有关详细信息,请参阅 Question