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?
...只是exaclty你正在做,但代替newImage.size()什麼,你可以使用任何你想要的大小,然後newSprite.color = UIColor.whateverColor( ) – Knight0fDragon
@ Knight0fDragon'newSprite = firstBody.node',使它成爲'SKNode',所以當我做'newSprite.color = UIColor.blueColor()'時我得到一個錯誤,說'Value of type'SKNode'沒有成員「color''。另外,如果我理解得很好,就不需要使用'newImage',對吧? – iGetIt
因爲您需要將它作爲skspritenode投射 – Knight0fDragon