【问题标题】:how to perform action when collision happens in swift? (i'm not using sprite kit)快速发生碰撞时如何执行操作? (我没有使用精灵套件)
【发布时间】:2015-07-30 09:50:28
【问题描述】:
 var animator0: UIDynamicAnimator!
var gravity0: UIGravityBehavior!
var collision0: UICollisionBehavior!

添加这些之后,我的视图下降了,但是当发生碰撞时,我想要执行一个动作,我也尝试在 viewdidappear 函数中编写一个 if 语句:如果视图的 y 坐标在一个确切的点执行行动,但它也没有工作。

【问题讨论】:

    标签: swift uiview collision detect


    【解决方案1】:

    确保您的 viewcontroller 类符合协议 UICollisionBehaviourDelegate

    class ViewController: UIViewController, UICollisionBehaviorDelegate 
    

    现在,

    • 使碰撞对象的视图控制器委托

       collision0.collisionDelegate = self
      
    • 实现以下方法

      func collisionBehavior(behavior: UICollisionBehavior!, beganContactForItem item: UIDynamicItem!, withBoundaryIdentifier identifier: NSCopying!, atPoint p: CGPoint) {
      
       print("Collision Detected- \(identifier)")
       //Perform the action you wanted here.
      
       }
      

    【讨论】:

    • 谢谢,我试试
    • 在 viewdidload 中输入了 collision0.collisionDelegate = self 后,我运行了应用程序并且应用程序崩溃了,除了执行这 3 个步骤之外,我还需要做些什么吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多