В настоящее время я изучаю программирование для Iphone, и у меня возникли некоторые проблемы, связанные с CAKeyframeAnimation
Я использую CAKeyframeAnimation для анимации объектов на экране следующим образом:
CGPathMoveToPoint (thePath, NULL, start.x, start.y);
CGPathAddLineToPoint (thePath, NULL, finish.x, finish.y);
animation.path = thePath;
animation.duration = animationDuration;
// Добавить группу анимации к слою
[Layer addAnimation: animation forKey: @ "animate"]
Я использую эту базовую идею для перемещения своих объектов, но теперь я хотел бы иметь возможность обнаруживать столкновения между объектами.
Я думал о добавлении к каждому анимированному объекту на экране наблюдателя
[анимированный addObserver: ...]
и пусть при изменении позиции вызывает метод, который проверяет текущую позицию относительно позиции всех других анимированных объектов.
проблема в том, что может быть много объектов (может быть, до 100 (оценка, но может быть и больше)), которые собираются проверить список из 10-20 объектов на предмет столкновения.
поэтому я боюсь, что на каждой итерации будет много испытаний.
что бы вы мне предложили сделать?