swift - 如何避免快速调整纹理大小

标签 swift sprite-kit textures skaction

我在场景中添加 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/

相关文章:

ios - 如何解析相同key、不同数据的JSON数据?

swift - 如何在 Swift 中获取从 UIImagePickerController 中选择的照片的 CLLocation?

ios - Google Analytics(分析)增强型电子商务未收到收入

ios - 在 objective-c 中,当呈现新场景时,如何去除旧场景?

java - 纹理部分离开屏幕 - 性能差异

swift - 可选绑定(bind)的参与者的姓名是什么?

ios - 重置整个场景(Swift、SpriteKit)

IOS w/SpriteKit 如何编辑预先存在的标签?

c++ - OpenGL 命令渲染

c++ - 纹理绑定(bind)的特殊参数?