iphone - CGRectIntersectsRect 问题

标签 iphone objective-c xcode uiview accelerometer

嗨,我正在尝试使用 iPhone 上的加速计制作一个简单的游戏。

所以我有一个名为enemyBlock 的 UIView 子类。我在屏幕上放了一些这样的东西。这些 block 一遍又一遍地使用 [UIView animateWithDuration:...] 进行扩展和收缩。我有一个 UIImageView 根据加速计数据移动 - 这就是播放器。

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

有什么线索可以解释为什么会发生这种情况吗?

最佳答案

不完全是答案,但我建议使用 cocos2d如果你正在写一个游戏。这是一个用 Objective C 编写的很棒的游戏引擎,我自己也用过。您创建 Sprite 的 2D 场景图。然后,您编写一个定期调用的更新方法,例如每秒30次。在此更新方法中,您可以增量更新每个敌人和玩家 Sprite 的位置,并使用 CGRectIntersectsRect 进行碰撞检查以检测碰撞。希望这会有所帮助。

关于iphone - CGRectIntersectsRect 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7228264/

相关文章:

iphone - CATiledLayer 高于正常 CALayer

ios - 如何在委托(delegate)方法实现中重新调用 `super`?

ios - Parse.com 数据显示错误信息

iphone - 我在哪里设置 iphone 应用程序中的应用程序图标

ios - Xcode随机变量不起作用

c++ - "Proper way"将文件夹添加到 XCode 4 中的包含路径

ios - 您可以同时使用 Storyboard和程序代码吗?

ios - 快速获取webview的滚动位置

ios - 警报 View 的常用功能?

ios - 在两个 UITableViewCells 之间添加一个 View ( ImageView )