Я пытаюсь создать очень простую игру, в которую можно перетащить простое изображение.Дело в том, что в кадре есть стена (просто прямоугольник), по которой изображение не должно идти.поэтому я сделал что-то вроде этого:
- (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];
}
}
}
Но проблема заключалась в том, что изображение вышло за его пределы, а затем застряло там, и касание закончилось.
, поэтому я добавилthis:
else if (CGRectIntersectsRect (CGRectMake(801, 0, 223, 768), [myImage frame])) {
CGPoint touchedPoint = [touch locationInView:self.view];
myImage.center = CGPointMake(730, touchedPoint.y);
}
Но это заставило изображение начать мерцать при пересечении со «стеной» и в итоге застряло там тоже.
Я чувствую, что должен быть простой способ сделать это,Может ли кто-нибудь просветить меня, пожалуйста?