我在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");
}
希望它能幫助:)