ios - 如何检查 SKSpriteNode 的底部是否在当前可见场景内

标签 ios sprite-kit

我一直在查看此 Sprite 套件文档中的图 7-3:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Actions/Actions.html但这让我很困惑。他们似乎为多种事物赋予相同的名称,例如相机/角色。

我在默认的 SKScene MyScene 类中。在 initWithSize 中,我创建了一个 SKNode *myWorld,就像文档中建议的那样。然后我有一系列的方法将我的背景图像添加到 myWorld。滚动效果很好,但我想要做的是在 myWorld 中的图像底部到达场景底部时停止垂直滚动。对于我的生活,我不知道如何引用 myWorld 的底部。对于场景的底部,我只是这样做

CGPoint sceneFarBottomSide = CGPointMake(0, -self.size.height/2);

其中 self.anhorPoint 设置为 [0.5, 0.5]。

如何引用 myWorld 的底部?

最佳答案

myWorld 的边缘是您设置的任何内容。换句话说,myWorld 是一个本身不是 View 或 Sprite 的节点。它只是一个包含 Sprite 或形状子项(例如,SKSpriteNodes 或 SKShapeNodes)的对象。当您将 Sprite 添加到 myWorld 时,请跟踪它们的位置。然后使用它们的位置来定义 myWorld 的“大小”。您可以将此大小信息与 myWorld.position 一起使用,以了解 myWorld 的(底部)边缘何时出现。

关于ios - 如何检查 SKSpriteNode 的底部是否在当前可见场景内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21225657/

相关文章:

ios - 如何使用 Contacts with Swift 对联系人进行排序

iphone - 如何向 UITableView 添加一次性部分和部分标题?

ios - 快速检测不透明空间的两个节点之间接触的方法?

ios - 在应用内购买后重新加载 SKScene 或 View 以删除 iAd

swift - 如何仅增加用于触摸识别的 Sprite 区域?

ios - 确定 Unity 5 中系统音量是否静音

ios - 重用 ScrollView

ios - 为什么 buttonName.removeFromSuperview 不总是删除按钮?

Swift:在 GameScene 中使用 StoryBoards 和 UIViewControllers 满足条件后返回主菜单?

ios - 无法使用带有 NSLocationWhenInUseUsageDescription 的 Swift 和 iOS8 获取位置服务