Я некоторое время гуглил и играл с xcode, и мне не удалось сопоставить то, что в официальной документации указано для параметра resize при значении false:
Если true, спрайтизменен в соответствии с новой текстурой. В противном случае размер спрайта не изменяется.
У меня есть следующий пример кода:
import SpriteKit
class GameScene: SKScene {
let someTexturedSpriteNode = SKSpriteNode(imageNamed: "Spaceship")
let carImage = SKTexture(imageNamed: "CarImage")
override func didMove(to view: SKView) {
someTexturedSpriteNode.size = CGSize(width: 100.0, height: 100.0)
someTexturedSpriteNode.position = CGPoint(x: CGFloat(frame.size.width)/2, y: CGFloat(frame.size.height)/2)
addChild(someTexturedSpriteNode)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
someTexturedSpriteNode.run(SKAction.setTexture(carImage, resize: false))
}
}
Однако размер спрайта находится вфакт меняется, несмотря на ложную ошибку.
Любые предложения о том, почему новая текстура не остается на уровне 100x100?
Большое спасибо!