2016-01-11 63 views
2

我一直在使用SKTexture以下面的方式更改didBeginContact中的SKSpriteNode顏色和大小。如何更改沒有SKTexture的didBeginContact中的SKSpriteNode大小和顏色?

if firstBody.categoryBitMask == spriteCategory && secondBody.categoryBitMask == enemyCategory { 
    var newSprite = firstBody.node 
    let newImage = SKTexture(imageNamed: "newSprite.png") 
    (newSprite as? SKSpriteNode)?.size = newImage.size() //magic 
    oldToNewSpriteAction = SKAction.setTexture(newImage) 
    newSprite!.runAction(oldToNewSpriteAction) 
} 

現在我沒有創建一個SKTextures示例代碼,設置我的SKSpriteNodes通過以下方式:

oldSprite = SKSpriteNode(color: SKColor.blueColor(), size: oldSpriteSize) 
newSprite = SKSpriteNode(color: SKColor.BrownColor(), size: newSpriteSize) 

我怎樣才能改變內didBeginContact精靈的顏色和大小沒有SKTextures?

+0

...只是exaclty你正在做,但代替newImage.size()什麼,你可以使用任何你想要的大小,然後newSprite.color = UIColor.whateverColor( ) – Knight0fDragon

+0

@ Knight0fDragon'newSprite = firstBody.node',使它成爲'SKNode',所以當我做'newSprite.color = UIColor.blueColor()'時我得到一個錯誤,說'Value of type'SKNode'沒有成員「color''。另外,如果我理解得很好,就不需要使用'newImage',對吧? – iGetIt

+0

因爲您需要將它作爲skspritenode投射 – Knight0fDragon

回答

0

這應該工作

newSprite.color = UIColor.redColor() 
newSprite.size = CGSize(width: 250, height: 250) 
+0

和?與這樣的大小,你將有巨大的精靈(遠遠超過250x250) –

相關問題