Я довольно новичок в Objective-C и хочу создать довольно простую Jigsaw. В настоящее время я просто смотрю на создание головоломки из 4 предметов в качестве способа изучения метода.«Drag 'n' Drop» игровая анимация
В настоящее время у меня есть 4 штуки, размещенные вокруг экрана, которые при перетаскивании в определенное место на экране привязаны к этому месту.
Моя проблема заключается в том, чтобы анимировать штрихи. Я хочу, чтобы изображение коснулось немного, но у меня возникли проблемы с синтаксисом. Я посмотрел пример MoveMe, который предлагает Apple, но это не помогает мне в этой ситуации. Ниже приведен код. Я был бы признателен за любую помощь в этом. Благодарю.
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
//location of current touch
CGPoint location = [touch locationInView:self.view];
if ([touch view] == image1) {
image1.center = location;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
image1.transform = CGAffineTransformMakeScale(1.5, 1.5);
[UIView commitAnimations];
} else if ([touch view] == image2) {
image2.center = location;
animateFirstTouch:image2;
} else if ([touch view] == image3) {
image3.center = location;
image3.transform = CGAffineTransformMakeScale(1.5, 1.5);
} else if ([touch view] == image4) {
image4.center = location;
image4.transform = CGAffineTransformMakeScale(1.5, 1.5);
}
}
-(void) animateFirstTouch:(UIView *)image {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
self.view.transform = CGAffineTransformMakeScale(1.5, 1.5);
[UIView commitAnimations];
}
Код для изображения1 работает, и изображение увеличивается на 0,5 секунды.
Код для изображения2 выдает ошибку: результат выражения не используется для анимацииFirstTouch: image2.
Код для image3 и image4 масштабирует изображения без анимации.
Hi. Спасибо, но это похоже на совсем другой подход к тому, который я действительно хочу. Я пытаюсь узнать об анимации и масштабировании. У меня есть функция анимации, настроенная, насколько я могу видеть, я просто испытываю трудности с передачей изображения функции. Если вы можете помочь с этим, было бы здорово. – garethdn
@garethdn: Пожалуйста, проверьте код, который я отредактировал, и немного изменил ваш код и добавил его к моему ответу. Пожалуйста, используйте этот код. Пожалуйста, свяжитесь со мной, если вам нужна помощь. –
Спасибо за это Parth. Есть ли способ ограничить эту анимацию своим собственным методом, например, функцией animateFirstTouch, которую я написал выше. Кажется расточительным повторять один и тот же код снова и снова. Или еще лучше, есть ли способ сказать: если затронутый объект - это изображение, оживите его, чтобы оно увеличилось более чем на 0,5 секунды? – garethdn