簡體   English   中英

在iOS 7中發生碰撞后添加UIGravityBehavior和UIPushBehavior

[英]Adding UIGravityBehavior and UIPushBehavior after a collision takes place in iOS 7

我正在弄亂iOS 7中的新物理API。

我決定要制作一個簡單的游戲,我有一個角色,可以用手指輕按屏幕在屏幕上移動,周期性地,形狀從底部飛起,如果碰到了角色,游戲就結束了。

我已經實現了所有上述內容,並且效果很好,但是,唯一沒有發生的事情是角色與形狀碰撞時角色掉下了。

所有碰撞都有效,我的問題是嘗試使角色在碰撞發生時掉落。 因為我不希望角色在此之前掉落(假設他在嘗試避開形狀時正在懸浮),所以我決定在發生碰撞時將角色添加到重力中,但是確實如此,但是首先,角色會射擊碰撞動畫繼續時向上移動。

有什么方法可以防止碰撞動畫的發生嗎? 有沒有更好的辦法?

這是我在collisionBehavior: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];
}

事實證明,我應該一直在使用collisionBehavior:beganContactForItem:withItem:atPoint:並在此方法中測試兩個項目,以查看它是否為mainCharacter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM