2015-05-13 6 views
-1

Так что я работаю над быстрым приложением. В настоящее время у меня есть мяч, который является UIView с cornerRadius = 20.0 для эмулирования мяча. У меня также есть весло, которое является еще UIView с меньшим cornerRadius = 5.0. Я программно сделал девять красных просмотров, каждая из которых размером 50x50 единиц. У меня есть механизм столкновения и движения для моего шара, весла и элементов блока. `var dynamicAnimator: UIDynamicAnimator!Как обнаружить конфликт представлений в приложении прорыва?

var pushBehavior: UIPushBehavior! 

var collisionBehavior: UICollisionBehavior! 

var ballDynamicBehavior: UIDynamicItemBehavior! 

var paddleDynamicBehavior: UIDynamicItemBehavior! 

var blockBehaviors: UIDynamicItemBehavior! 

Мой вопрос здесь, является то, что шар сталкивается с блоками, но я не знаю, как определить, попал ли или нет мяч блок, но я знаю, как сделать появляются и исчезают виды (дайте представление backgroundcolor, соответствующий цвету View, и удалите его из blockBehaviors. В принципе, я хочу знать, как обнаружить, когда две точки сталкиваются через. или что-то еще.

Было бы также здорово, если бы я мог также добавить несколько уровней, lol.

ответ

0

A UICollisionBehavior Требуется делегат, который принимает протокол UICollisionBehaviorDelegate. s имеет метод collisionBehavior, который вызывается всякий раз, когда обнаружено столкновение.

Например:

var collisionBehavior: UICollisionBehavior!  // create a UICollisionBehavior as you have done 
collisionBehavior.addItem(ball)     // add your items to it 
collisionBehavior.addItem(block)     // (faster to do this in the init step with `items` argument) 
collisionBehavior.collisionDelegate = myDelegate // give it a delegate which adopts UICollisionBehaviorDelegate 
dynamicAnimator.addBehavior(collisionBehavior) // add the behavior to your animator 

Затем осуществить func collisionBehavior для вашего класса делегата. Часто люди просто используют UIViewController в качестве делегата, поэтому вышеприведенная строка будет читать collisionBehavior.collisionDelegate = self.

См. «Создание объектов для столкновений» здесь для хорошего и короткого учебника: http://www.raywenderlich.com/76147/uikit-dynamics-tutorial-swift.