如何避免在swift中调整纹理大小

时间:2015-03-29 23:32:06

标签: swift sprite-kit textures skaction

我将spritenode添加到场景中,大小已经给出。

但是当我更改spritenode的纹理时,大小会自动更改为纹理图像(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))

1 个答案:

答案 0 :(得分:0)

不要明确设置大小。从您的信息精灵工具包将不会自动找到每个纹理的比例因子并缩放它。

相反,您可以设置节点的比例因子,并且每个纹理都会应用该比例。

[playernode setScale: x];

像这样的东西。您只需在创建节点时设置它,并且每个纹理将是您期望的大小,因为您的纹理大小相同。

我对所有使用多个纹理进行动画处理的节点使用此方法,并且每次都有效。