我在场景中添加 Sprite 节点,尺寸给定。
但是当我更改 Sprite 节点的纹理时,大小会自动更改为纹理图像 (png) 的原始大小。
我怎样才能避免这种情况?
我的代码:
var bomba = SKSpriteNode(imageNamed: "bomba2")
var actionbomba = SKAction()
bomba.size = CGSizeMake(frame2.size.width/18, frame2.size.width/18)
let bomba3 = SKTexture(imageNamed: "bomba3.png")
actionbomba.addObject(SKAction.moveBy(CGVectorMake(0, frame.size.height/2.65), duration: beweegsnelheid))
actionbomba.addObject(SKAction.setTexture(bomba3,resize: false))
addChild(bomba)
bomba.runAction(SKAction.repeatAction(SKAction.sequence(actionbomba), count: -1))
最佳答案
不要明确设置大小。根据您的信息,sprite 套件不会自动找到每个纹理的比例因子并对其进行缩放。
相反,您设置节点的比例因子,每个纹理都会应用该比例。
[playernode setScale: x];
是这样的。您只需在创建节点时设置它,并且每个纹理都将是您期望的大小,前提是您的纹理大小相同。
我将此方法用于所有使用多个纹理设置动画的节点,并且每次都有效。
关于swift - 如何避免快速调整纹理大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29336235/