2015-02-11 44 views
4

我試圖創造一個當觸摸場景移動彈簧發射彈簧將線圈儘可能多的觸摸拖累和THN啓動項春季以上SKSpriteNode大小變化而變化觸摸結束方法。對於我改變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的物理身體不改變談到這樣的 - enter image description here

請幫助..如果一個物理變化SKSpriteNode的身體比它落後的設備太多..

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

有什麼辦法一旦創建後改變物理體的大小?

+0

物理機構不「規模」,一度創造了身體保持其形狀的大小 - 如果你想改變它,你必須創建一個新的身體 – LearnCocos2D 2015-02-13 12:33:31

+0

物理體實際縮放..我過通過設置檢查它self.view?.showsPhysics = true,它的縮放清晰可見。 – Viper 2015-02-13 12:36:16

回答

2

我通過改變touchesMoved方法

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

改變它的大小,我不知道這是正確的做法或沒有,但這個SKSpriteNode的物理身體的變化相應的SKSpriteNode的yScale insteade固定它。