2014-09-03 30 views
0

我開發與某些特定形狀的文字遊戲,我創造這條線的SKSpriteNode對象:調整SKSpriteNode和SKPhysicsBody具體image.png或image.jpg的

let rockl:SKSpriteNode = SKSpriteNode(color: UIColor.redColor(), size: CGSize(width: newweight*ancho/16, height: alto/5)) 

我分配身體與這條線:

rockl.physicsBody = SKPhysicsBody(rectangleOfSize: pipeBotton.size) 

,我分配與該行的形象:

rockl.texture = SKTexture(imageNamed: "character.png") 
rockl.texture.filteringMode = SKTextureFilteringMode.Nearest 

但邊界與圖像的邊界不一樣。我怎樣才能調整對象的形象?或者什麼是創建自定義形狀的技術?

回答

1

你會想要創建你的physicsBodySKPhyiscsBody(texture, size)。從文檔:

當您的精靈具有想要在其物理主體中複製 的形狀時使用此方法。紋理縮放到新的尺寸,然後分析 。創建一個新的物理實體,其中包含具有非零α值的紋理中的所有紋理元素。這個機構的形狀試圖在性能和精度之間取得很好的平衡。例如,如果保留 會導致顯着的性能損失,則細節可能會被忽略。

您也可以用紋理創建SKSpriteNode,而不是直接先用平色生成它的:

let rocklTexture = SKTexture(imageNamed: "character.png") 
rocklTexture.filteringMode = SKTextureFilteringMode.Nearest 

let rocklSize = CGSize(width: newweight*ancho/16, height: alto/5) 

let rockl = SKSpriteNode(texture: rocklTexture, size: rocklSize) 
rockl.physicsBody = SKPhysicsBody(texture: rocklTexture, size: rocklSize) 
相關問題