我在UIDynamicBehavior
中遇到问题。我正在使用UIPushBehavior
将两个物体朝不同的方向移动。如何检查两个移动物体是否相互碰撞IOS
我想在碰撞时打印“碰撞”。
当两个移动物体碰撞时会调用哪个方法?
UIDynamicAnimator
UICollisionBehavior
UIPushBehavior
我在UIDynamicBehavior
中遇到问题。我正在使用UIPushBehavior
将两个物体朝不同的方向移动。如何检查两个移动物体是否相互碰撞IOS
我想在碰撞时打印“碰撞”。
当两个移动物体碰撞时会调用哪个方法?
UIDynamicAnimator
UICollisionBehavior
UIPushBehavior
首先,你必须让你要处理的碰撞实施UICollisionBehaviorDelegate,所以在你的头文件中您会在接口线路更改为@interface MyClassHere : MySuperclass <UICollisionBehaviorDelegate>
类。对于碰撞行为,初始化时使用collisionBehavior.delegate = self;
,然后添加方法- (void)collisionBehavior:(UICollisionBehavior *)behavior beganContactForItem:(id<UIDynamicItem>)item1 withItem:(id<UIDynamicItem>)item2 atPoint:(CGPoint)p
,每次在UICollisionBehavior的两部分之间发生碰撞时都会调用该方法。 所以,你的方法是这样的:
- (void)collisionBehavior:(UICollisionBehavior *)behavior beganContactForItem:(id<UIDynamicItem>)item1 withItem:(id<UIDynamicItem>)item2 atPoint:(CGPoint)p{
NSLog(@"Collide");
}
希望它能帮助:)