だから私は、iPhone 内蔵の加速度計の助けを借りて移動するブロックと、画面にランダムに表示される別のブロックを持っています。if ステートメントを使用して、移動するブロックが動かないターゲット ブロックをタップまたはタッチするかどうかを判断しようとしています。任意の点で 2 つの座標が等しいかどうかを判断する以外に、すべてが機能します。ここまでです..
編集: *そこで、xx 変数と yy 変数を削除し、self.xVar と self.yVar に置き換えました。
edit2: **したがって、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
いつでも判断できるようにしています。前もって感謝します!