【发布时间】:2013-11-15 18:35:11
【问题描述】:
我真的不知道从哪里开始。我有一个圆圈的图像存储在 SKSpriteNode 和 physicsBody 中,它在创建时反映了它的大小。
我使用SKAction 来缩小图像的大小,而physicsBody 的大小保持不变。如何缩小physicsBody?
我的代码:
SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"whiteball"];
sprite.size = CGSizeMake(20, 20);
sprite.position = CGPointMake(dx, CGRectGetHeight(self.frame)-dy);
sprite.name = @"ball";
sprite.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:sprite.size.width/2];
[self addChild:sprite];
SKNode *ballNode = [self childNodeWithName:@"ball"];
if (ballNode != Nil){
ballNode.name = nil;
SKAction *delay = [SKAction waitForDuration:3];
SKAction *scale = [SKAction scaleTo:0 duration:1]; // I want this to scale the physicsBody as well as the spriteNode...
SKAction *remove = [SKAction removeFromParent];
//put actions in sequence
SKAction *moveSequence = [SKAction sequence:@[delay, scale, remove]];
//run action from node (child of SKLabelNode)
[ballNode runAction:moveSequence];
}
【问题讨论】:
-
物理体形无法缩放。缩放物理形状存在许多问题。尝试搜索,之前有一些关于此问题的解决方法。
-
@maxud 不确定这是否完全适用于您的问题,但请查看stackoverflow.com/a/33572073/3402095。
标签: objective-c sprite-kit skphysicsbody skaction