我想混合 2 个教程,即:
http://hub.ae/blog/2014/03/26/soft-body-physics-jellyusing-spritekit/
和
https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Actions/Actions.html (示例:将场景置于节点部分的中心)
我一个一个地工作,但是当我混合两个时我有一个错误。
如果我的代码是这样开始的:
[self setAnchorPoint:CGPointMake(0.5f, 0.5f)];
_myWorld = [SKNode node];
[self addChild:_myWorld];
[self createPlayer]; // I replaced all [self addchild's to [_myWorld addChild]
然后相机跟随玩家但没有创建关节!
如果我将 [self createPlayer]
放在顶部并保留所有 [self addchilds]
原样(因为尚未创建 _myWorld),那么就会有关节效果很好,但相机不跟随玩家,因为玩家不在 _myWorld 中。
我一直保留 [self.physicsWorld addJoint:joint];
。
知道我哪里出错了吗?
最佳答案
当我按照 Apple 指南中的说明将部件移动到 _myWorld 时,我不知道我还必须移动 anchor ,因为它们始终位于场景坐标中。
添加这些行解决了问题:
CGPoint p1 = [self.scene convertPoint:CGPointMake(point1.position.x+self.frame.size.width/2, point1.position.y+self.frame.size.height/2) fromNode:_myWorld];
CGPoint p2 = [self.scene convertPoint:CGPointMake(point2.position.x+self.frame.size.width/2, point2.position.y+self.frame.size.height/2) fromNode:_myWorld];
在 AttachPoint
函数中。
关于ios - SKPhysicsJointSpring 在两个不是场景直接子对象的对象之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30176191/