触摸移动方法中物理体尺寸不随 SKSpriteNode 尺寸变化而变化

Physics body size not changing with SKSpriteNode size change in Touch moved method

我正在尝试创建一个 spring 启动器,当触摸在场景中移动时,spring 将在触摸被向下拖动时盘绕,然后启动 [=21= 上方的项目] 关于触摸结束方法。为此,我将触摸移动方法中 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的Physics body没有改变它是这样的 -

请帮助.. 如果更改 SKSpriteNode 的物理体比它在设备上滞后太多..

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

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

我通过更改 SKSpriteNode 的 yScale 而不是在 touchesMoved 方法中更改其大小来修复它

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

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