Ios 触摸移动法中物理体尺寸不随电极尺寸变化而变化

Ios 触摸移动法中物理体尺寸不随电极尺寸变化而变化,ios,swift,sprite-kit,skphysicsbody,Ios,Swift,Sprite Kit,Skphysicsbody,我正在尝试创建一个弹簧发射器,当触摸在场景中移动时,弹簧将随着触摸被向下拖动而卷曲,并在触摸结束方法上的弹簧上方启动项目。为此,我将接触移动法中SKSpriteNode的大小和位置更改为- launcher.position = CGPointMake(frame.size.width*0.97, launcher.position.y-1) launcher.size = CGSizeMake(frame.size.wid

我正在尝试创建一个弹簧发射器,当触摸在场景中移动时,弹簧将随着触摸被向下拖动而卷曲,并在触摸结束方法上的弹簧上方启动项目。为此,我将接触移动法中SKSpriteNode的大小和位置更改为-

launcher.position               =   CGPointMake(frame.size.width*0.97, launcher.position.y-1)
launcher.size                   =   CGSizeMake(frame.size.width*0.05, launcher.frame.size.height-2)
但是SKSpriteNode的物理体没有改变它是这样的-

请帮忙。。如果一个改变了物理体的SKSpriteNode比它落后的设备太多

let springTexture    =   SKTexture(imageNamed: "spring-wire")
launcher.physicsBody = SKPhysicsBody(texture: springTexture, size: launcher.size)
launcher.physicsBody?.dynamic = false

在创建一次物理体之后,有没有办法改变它的大小?

我通过改变SKSpriteNode的yScale来修复它,而不是用TouchsMoved方法改变它的大小

launcher.yScale =   launcher.yScale-0.008
launcher.position  =   CGPointMake(frame.size.width*0.97, launcher.size.height/2)

我不知道这是否是正确的方法,但通过这个SKSpriteNode的物理体会相应地改变。

物理体不会“缩放”,一旦创建了一个体,它会保留其形状的大小-如果你想改变它,你必须创建一个新的体物理体实际上正在缩放。。我通过设置self.view?.showsPhysics=true对其进行了交叉检查,它的缩放清晰可见。