0

彼の skspritenode のサイズを変更した後、物理ボディのサイズに問題があります。

私のコード:

backTop.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:backTop.size];
[backTop.physicsBody setAffectedByGravity:NO];
[backTop.physicsBody setDynamic:NO];
[backTop.physicsBody setCategoryBitMask:kPipeCategory];
[backTop.physicsBody setCollisionBitMask:kPlayerCategory];
backTop.physicsBody.usesPreciseCollisionDetection = YES;

//SKAction
SKAction *scaleBackTopActionStart = [SKAction resizeToHeight:backTop.size.height+kPipeGap duration:kPipeScale];
SKAction *scaleBackTopActionEnd = [SKAction resizeToHeight:pipeTop.size.height duration:kPipeScale];
SKAction *scaleBackTopSequence = [SKAction sequence:@[[SKAction waitForDuration:kPipeScaleStartWait],scaleBackTopActionStart, scaleBackTopActionEnd, [SKAction waitForDuration:kPipeScaleWait]]];

問題:

skspritenode はサイズ変更されますが、彼の物理ボディは追従しません。アイデアはありますか?

4

2 に答える 2

4

スケールは単なる視覚的特性であり、物理体には適用されません。適切にスケーリングされたシェイプを持つ新しいボディを作成する以外に、物理ボディをスケーリングする方法はありません。

于 2014-02-14T21:34:22.403 に答える