所以我有一个在 iPhone 内置加速度计的帮助下移动的块,另一个随机出现在屏幕上的块。我正在尝试使用 if 语句来确定移动块是否轻敲或触摸不动的目标块,如果这样做,它将随机重新定位到屏幕上的另一个位置。除了确定两个坐标在任何给定点是否相等之外,一切正常。到此为止。。
编辑: *所以我删除了 xx & yy 变量并用 self.xVar 和 self.yVar 替换它们,这似乎有点工作,但非常粗略并停止了
编辑2: **所以删除 xx 和 yy 确实有帮助,但它只适用于 2-3 次点击,然后停止。
edit3 **意识到拥有相同的 x OR y 变量不是解决此问题的正确方法..
-(void) accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
...
//Make the new point
CGPoint buttonNewCenter = CGPointMake(newX,newY);
Button.center = buttonNewCenter;
int xx = self.xVar;
int yy = self.yVar;
if (newX == xx || newY == yy) {
int randX = arc4random() % 320;
int randY = arc4random() % 548;
CGPoint randNewPlace = CGPointMake(randX, randY);
Rand.center = randNewPlace;
}
}
……
- (void)viewDidAppear:(BOOL)animated
{
[self awakeaccelerometer];
int randX = arc4random() % 320;
int randY = arc4random() % 548;
CGPoint randNewPlace = CGPointMake(randX, randY);
Rand.center = randNewPlace;
self.xVar = (randX+15);
self.yVar = (randY+15);
}
因此开放函数随机确定目标块的位置,而另一个块根据加速度计在屏幕上自由移动。我试图if self.xVar || self.yVar == newX || newY
在任何给定时间确定。提前致谢!