首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PhysicsBody大于指定给它的纹理(图片)

PhysicsBody大于指定给它的纹理(图片)
EN

Stack Overflow用户
提问于 2015-07-18 06:41:48
回答 1查看 152关注 0票数 0

我的一个精灵"physicsBody“属性一直有问题。

我已经将physicsBody节点"barn“直接放在non-physicsBody节点"mound”的顶部,没有任何问题。它在模拟器上看起来很好,但是我的节点"hero“总是碰到一个看不见的障碍,当我删除"barn”时,这个障碍就不再是问题了(所以这一定是“barn”的问题)。barnphysicsBody元素似乎比实际纹理向y下扩展得更远。也就是说,physicsBody和纹理似乎在两个不同的地方,尽管我的physicsBody的参数由纹理组成:

代码语言:javascript
复制
let barn = SKSpriteNode(texture: barn.texture, size: barn.size)
barn.physicsBody?.dynamic = false
barn.physicsBody?.pinned = true
barn.physicsBody?.affectedByGravity = false

barn.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMinY + mound.size.height / 2)

正如您在下图中所看到的,当我对"hero“节点(位于底部棕褐色条顶部的黑色圆圈)施加脉冲时,它会被某种看不见的节点阻止:

http://imgur.com/gallery/ATb6jgf/new

如果我继续施加一个脉冲,它就会上升到节点中,遵循同样的形状模式,但就好像它刚刚下降了大约50个像素:

http://imgur.com/gallery/rpyF3DK/new

如果我向y-value添加一个150像素的空间,如下所示:

代码语言:javascript
复制
barn.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMinY(self.frame) + mound.size.height / 2 + 150)

然后,"hero“节点就可以按照它应该的方式正确移动:

http://imgur.com/Rbkarss

因此,我们可以推断的是,尽管纹理被正确地放置在土丘的顶部,但physicsbody似乎是沿着y-axis下降的。我刚接触swift,有人能理解这一点吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-07-19 02:17:03

对于其他有问题的人,我发现问题出在我的anchorPoint上。

anchorPoint只适用于节点本身,而不适用于“physicsBody”。

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

https://stackoverflow.com/questions/31485726

复制
相关文章

相似问题

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