2009-03-23 3 views
2

Я работаю над проектом, где мне нужно повернуть изображение, прикоснувшись к нему.Как я могу повернуть изображение стрелки, нажав на это изображение?

Он может вращаться быстрее или медленнее в зависимости от того, как пользователь прикасается к нему.

Можете ли вы показать мне некоторые уроки или как это можно сделать?

ответ

1

Поместите свое изображение в UIImageView, затем подкласс, который просматривает и заменяет touchhesBegan: withEvent: или задает для него делегат и реализует тот же метод, что и метод делегата. Это даст вам возможность реагировать на события касания (начало касания, в данном случае, хотя вы можете сделать то же самое для прекращения касания или перемещения пальца).

В этом методе обработки касания вы можете реализовать что-то похожее на то, что я описываю here, чтобы выполнить поворот вашего UIImageView с поддержкой Core-Animation с заданной скоростью. Чтобы изменить скорость, измените свойство duration на предоставляемой анимации. Как я предлагаю, вы можете посмотреть в CAKeyframeAnimation, чтобы сделать более плавную анимацию с ускорением и замедлением в начале и конце.

0

Простым способом является создание NStimer и поворот трансформатора каждый раз, когда он срабатывает.

Я некоторые примеры кода здесь, что по совпадению делает что-то подобное:

http://github.com/kailoa/touchsamplecode/tree/master

0

Использование cocos2d, вы не можете иметь «сенсорный включен» спрайтов «isTouchEnabled» находится на уровне слоя. Вам нужно будет получить прикосновение на уровне слоя, а затем проверить местоположение касания относительно местоположения осязаемого спрайта. Функции CGRect * включают в себя «rect содержит точку», с которой вы можете передать местоположение касания, с помощью прямоугольника спрайта, чтобы увидеть, было ли оно «тронуто», и какой момент вы могли бы сказать: [sprite runAction: [Повернуть ... ]]

Смежные вопросы