シンプルなimageViewをドラッグできる非常にシンプルなゲームを作成しようとしています。問題は、フレーム (単なる長方形) に、画像を載せてはならない壁があることです。だから私はこのようなことをしました:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if ([touch view] == myImage) {
if (CGRectContainsRect (CGRectMake(0, 0, 800, 768), [myImage frame]))
{
myImage.center = [touch locationInView:self.view];
}
}
}
しかし、問題は、画像が境界を超えてそこに行き詰まり、タッチ移動が終了したことでした。
だから私はこれを追加しました:
else if (CGRectIntersectsRect (CGRectMake(801, 0, 223, 768), [myImage frame])) {
CGPoint touchedPoint = [touch locationInView:self.view];
myImage.center = CGPointMake(730, touchedPoint.y);
}
しかし、これにより、「壁」と交差するときに画像がちらつき始め、最終的にはそこで動かなくなりました。
それを行う簡単な方法がなければならないと感じています。誰か教えてください。