首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使SKPhysicsBody和SKShapeNode对齐?

如何使SKPhysicsBody和SKShapeNode对齐?
EN

Stack Overflow用户
提问于 2013-11-29 06:03:49
回答 1查看 1.9K关注 0票数 2

下面的代码创建了一个SKShapeNode (self.tiles)。

代码语言:javascript
复制
CGMutablePathRef path = CGPathCreateMutable();
.... //Some stuff that creates a path

self.tiles = [SKShapeNode node];
[self addChild:self.tiles];

self.tiles.path = path;
self.tiles.physicsBody = [SKPhysicsBody bodyWithEdgeChainFromPath:path];

但是,似乎创建的物理体与在screen.The SKShapeNode上创建的形状不一致,这正是我希望它出现在屏幕上的地方(视觉)。

我不知道物理体到底在哪里。

如何使SKShapeNode SKPhysicsBody**?**和对齐?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-17 09:33:26

这是给其他可能难以理解的人:

一个精灵的锚点,是这个精灵的孩子的局部坐标系统开始的地方。因此,如果锚点是sprite的中心,那么子节点的(0,0)对应于父sprite的中心。

CGRect的情况下,通常会指定CGRect的起源(作为rect的左下角),然后指定维度。

由于您可能正在使用SKShapeNodeSKPhysicsBody椭圆或矩形创建一个CGRect,因此您应该对其进行偏移,因此rect的中心与精灵体的中心相匹配,因此形状和物理体处于预期位置。

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

https://stackoverflow.com/questions/20279375

复制
相关文章

相似问题

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