Iphone CgRect问题

Iphone CgRect问题,iphone,objective-c,xcode,uiview,accelerometer,Iphone,Objective C,Xcode,Uiview,Accelerometer,嗨,我想用iphone上的加速计做一个简单的游戏 所以我有一个UIView子类叫做enemyBlock。我在屏幕上放了两个。这些块使用[UIView animateWithDuration:…]一次又一次地展开和收缩。我有一个UIImageView,它根据加速计数据移动-这就是播放器 当玩家接触到敌人时,游戏应该重置。 Im使用CGRectIntersectsRect(player.frame,enemyblock.frame)检测是否发生了命中。但是这种行为非常奇怪,因为只有当EnemyBlo

嗨,我想用iphone上的加速计做一个简单的游戏

所以我有一个UIView子类叫做enemyBlock。我在屏幕上放了两个。这些块使用[UIView animateWithDuration:…]一次又一次地展开和收缩。我有一个UIImageView,它根据加速计数据移动-这就是播放器

当玩家接触到敌人时,游戏应该重置。 Im使用CGRectIntersectsRect(player.frame,enemyblock.frame)检测是否发生了命中。但是这种行为非常奇怪,因为只有当EnemyBlock没有动画时才会发生命中,否则玩家可以直接通过它们


关于为什么会发生这种情况,有什么线索吗?

CGRect在UIView和UIImageView的动画中没有检测到,因此“CGRectIntersectsRect(player.frame,enemyblock.frame)”没有扮演适当的角色,您的脸上出现了奇怪的表情。我建议您制作UIView的自定义动画,它将适合您。

这不是一个很好的答案,但我建议您在编写游戏时使用。这是一个用Objective C编写的很棒的游戏引擎,我自己也用过。创建精灵的二维场景图。然后编写一个更新方法,该方法将以固定的间隔(例如每秒30次)被调用。在此更新方法中,您可以增量更新每个敌人和玩家精灵的位置,并使用CGRectIntersectsRect进行碰撞检查以检测碰撞。希望这能有所帮助。

在设置视图动画时,视图的表示层会随几何体更新 动画中的信息。根据您设置播放器层动画的方式,请尝试

CGRectIntersectsRect(player.frame, enemyblock.layer.presentationLayer.frame)

最好的

您是否有更新循环,或者是否根据UI事件移动角色?谢谢。但这仍然不起作用。我在CGRectIntersectsRect(player.frame,enemyblock.frame)上也有同样的行为,谢谢我会调查的。也许你知道一个类似迷宫的游戏示例的好教程?