Objective c 在iOS 7中发生碰撞后添加UIGravityBehavior和UIPushBehavior行为

Objective c 在iOS 7中发生碰撞后添加UIGravityBehavior和UIPushBehavior行为,objective-c,cocoa-touch,cocoa,ios7,uikit-dynamics,Objective C,Cocoa Touch,Cocoa,Ios7,Uikit Dynamics,我在玩iOS 7中的新物理API 我决定做一个简单的游戏,我有一个角色,他可以在屏幕上移动,手指轻触,周期性地,形状从底部向上飞,如果他们击中了角色,游戏就结束了 我已经实现了上面的所有功能,效果非常好,但是,唯一没有实现的是,当一个形状与角色碰撞时,角色会掉落 所有碰撞都有效,我的问题是当碰撞发生时,试图使角色坠落。因为我不希望角色在此之前坠落(假设他在试图避开形状时悬浮),所以我决定在碰撞发生时将角色添加到重力中,确实如此,但首先,角色会随着碰撞动画的继续向上拍摄 是否有任何方法可以防止发生

我在玩iOS 7中的新物理API

我决定做一个简单的游戏,我有一个角色,他可以在屏幕上移动,手指轻触,周期性地,形状从底部向上飞,如果他们击中了角色,游戏就结束了

我已经实现了上面的所有功能,效果非常好,但是,唯一没有实现的是,当一个形状与角色碰撞时,角色会掉落

所有碰撞都有效,我的问题是当碰撞发生时,试图使角色坠落。因为我不希望角色在此之前坠落(假设他在试图避开形状时悬浮),所以我决定在碰撞发生时将角色添加到重力中,确实如此,但首先,角色会随着碰撞动画的继续向上拍摄

是否有任何方法可以防止发生碰撞动画?有更好的办法吗

以下是我在
冲突行为:beganContactForItem:withBoundaryIdentifier:atPoint:
方法中的代码:

//  Main Character
//
if ([item isEqual:self.mainCharacter]) {
    [self.collision removeItem:item];

    //          Push
    //
    UIPushBehavior *pushBehaviour = [[UIPushBehavior alloc] initWithItems:@[self.mainCharacter] mode:UIPushBehaviorModeInstantaneous];
    [pushBehaviour setPushDirection:CGVectorMake(0.0f, 1.0f)];
    [self.animator addBehavior:pushBehaviour];
    [pushBehaviour setActive:YES];

    [self.gravity addItem:item];
}

事实证明,我应该使用
碰撞行为:beganContactForItem:withItem:atPoint:
并用这个方法测试这两个项目,看看它是否是
主要字符

只是在黑暗中拍摄,试试
CGVectorMake(0.0f,-1.0f)
获取您的重力值。请将您的答案标记为已接受,这样这个问题就不会显示为未解决。