SpriteKit关节不会保持在一起

时间:2014-06-15 19:39:55

标签: objective-c sprite-kit

我正在为SpriteKit开发的游戏制作绳索。我完全制作了绳子并且它正常工作,直到我尝试将绳子从一个端部移动到用户手指位置。这些精灵在整个地方分崩离析。我需要能够在关节断开的情况下移动绳索。有没有办法在SpriteKit上执行此操作?

这是我的绳索创建代码:

-(void)ropemake:(CGPoint)startingPoint{
SKSpriteNode*startingNode=[[SKSpriteNode alloc] initWithColor:[UIColor redColor] size:CGSizeMake(5, 5)];
startingNode.position=CGPointMake(startingPoint.x, startingPoint.y);
startingNode.physicsBody=[SKPhysicsBody bodyWithCircleOfRadius:2.5];
startingNode.physicsBody.dynamic=NO;
[ropearray addObject:startingNode];
[self addChild:startingNode];
for(int a=0; a<50; a++){
    SKSpriteNode* old=[ropearray objectAtIndex:a];
    SKSpriteNode*new=[self circleMake:CGPointMake(old.position.x, old.position.y+5)];
    new.physicsBody=[SKPhysicsBody bodyWithCircleOfRadius:2.5];
    new.physicsBody.restitution=1;
    new.physicsBody.friction=1;

    [ropearray addObject:new];
    [self addChild:new];
    [self.scene.physicsWorld addJoint:[self makejoint:old and:new]];

}
}

-(SKSpriteNode*)circleMake:(CGPoint)point{
SKSpriteNode *node=[[SKSpriteNode alloc] initWithImageNamed:@"ball"];
node.size=CGSizeMake(5, 5);

node.position=point;
   node.physicsBody=[SKPhysicsBody bodyWithCircleOfRadius:2.5];
return node;
}

提前致谢。 enter image description here

enter image description here

0 个答案:

没有答案