繁体   English   中英

UICollisionBehavior的问题

[英]Problems with UICollisionBehavior

我不确定是否只是在UICollisionBehavior发现了一些错误,或者我只是没有正确实现它。

我有两个主要问题。

1)定期创建一个UICollisionBehavior ,它只有两个项目,一个播放器和一个新项目,它要么从顶部掉落,要么从屏幕底部向上推。

但是,偶尔会有两个项目(不是播放器)相互碰撞。 但是,当我将碰撞记录在动画器中时,它们都只有两个项目,即播放器和下降/上升项目。

根据UICollisionBehavior类引用的冲突:

您可以将多个碰撞行为添加到动态动画师。 一个动态项目可以是任何数量的碰撞行为的一部分,前提是这些行为属于同一动画师。 例如,您可以为一组说成蓝色的项目指定碰撞行为,而为一组说成粉红的项目指定碰撞行为。 将两种行为都添加到动态动画制作器中时,蓝色项目可以相互碰撞,而粉红色项目可以相互碰撞,但是蓝色项目和粉红色项目不会发生碰撞-它们将相互忽略。

使用上面的示例,我的粉红色项目和蓝色项目发生碰撞,尽管它们的碰撞行为不同。

2)点击屏幕时,用UIPushBehavior推动了我的播放器,但是UIPushBehavior没有捕获到播放器与某项之间的碰撞(下降/上升)。

我不知道上述问题是否相关,因此我暂时将它们放在同一个问题中。

有谁知道这可能是什么? 有没有人发现这是一个错误?

一如既往的感谢。

UICollisionBehavior具有UICollisionBehaviorMode

typedef NS_OPTIONS(NSUInteger, UICollisionBehaviorMode) {
    UICollisionBehaviorModeItems        = 1 << 0,
    UICollisionBehaviorModeBoundaries   = 1 << 1,
    UICollisionBehaviorModeEverything   = NSUIntegerMax
} NS_ENUM_AVAILABLE_IOS(7_0);

默认值为UICollisionBehaviorModeEverything因此项目将与边界以及其他项目发生碰撞。 您需要将此属性设置为UICollisionBehaviorModeBoundaries

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM