每当对象的y坐标等于另一个对象的坐标时,如何将1添加到分数

时间:2014-04-17 11:53:45

标签: ios if-statement coordinates

我有一个游戏,用户必须在两个物体之间以垂直的方式移动球,我想有一个得分系统,每次球等于2个物体时我可以加1分数所以我尝试了下面的代码,但它可能不起作用,每次球的坐标等于对象的协调时,它不会添加一个。

if(imageview.center.y == imageview1.center.y){

int score = score + 1;
scorelabel.text = [NSString stringWithFormat:@"%i",score];
             } 

3 个答案:

答案 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