触摸移动方法中,SKSpriteNode大小改变时,物理主体大小不会改变

我试图创build一个弹簧发射器,当在场景中移动触摸时,弹簧将会像触摸一样向下拖动,然后在触摸结束方法上popup弹簧上方的项目。 为此,我改变了触摸移动方法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 

创build一次后,有没有办法改变物理体的大小?

我通过更改touchesMoved方法中改变其大小的SKSpriteNode的yScale来修复它

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

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