首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查SKSpriteNode的底部是否在当前可见场景中

如何检查SKSpriteNode的底部是否在当前可见场景中
EN

Stack Overflow用户
提问于 2014-01-20 03:11:09
回答 2查看 481关注 0票数 0

我一直在查看这个sprite工具包文档中的图7-3:PG/Actions/Actions.html,但是它让我非常困惑。他们似乎给多个事物起了相同的名字,例如照相机/人物。

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

代码语言:javascript
复制
CGPoint sceneFarBottomSide = CGPointMake(0, -self.size.height/2);

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

如何引用myWorld的底部

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-20 06:04:23

结果这件事非常容易解决。感谢安德烈向我介绍了苹果公司关于冒险游戏的文档,这才是我真正得到的提示,也澄清了我的一些理解。下面是几行代码来获得我想要的行为:

代码语言:javascript
复制
// Move world
if (monkeyPosition.y > 0 && monkeyPosition.x > 0) {
    [myWorld setPosition:CGPointMake(-monkeyPosition.x, -monkeyPosition.y)];
} else if (monkeyPosition.y > 0 && monkeyPosition.x < 0) {
    [myWorld setPosition:CGPointMake(0, -monkeyPosition.y)];
}
票数 0
EN

Stack Overflow用户

发布于 2014-01-20 05:16:41

myWorld的优势在于你把它设置成什么样子。换句话说,myWorld是一个节点,它本身并不是一个视图或精灵。它只是一个包含sprite或shape子对象(例如SKSpriteNodes或SKShapeNodes)的对象。当你在myWorld中添加你的精灵时,要注意它们的位置。然后使用他们的位置来定义myWorld的“大小”。您可以与myWorld.position一起使用这个大小信息来知道myWorld的(底部)边缘何时出现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21225657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档