我有多个镜像,在不同的时间我需要替换SKSpriteNode的目标镜像。
这些多个图像中的每一个具有不同的大小。
目标SKSpriteNode有一个固定帧,我希望保持固定。
此目标通过以下方式创建:
myTarget = SKSpriteNode(imageNamed: “target”)
myTarget.size = CGSize(…)
myTarget.physicsBody = SKPhysicsBody(rectangleOf: myTarget.size)
如何调整多个图像中的每一个图像的大小,以使每个图像填满目标帧(展开或收缩)?
假设目标是一个鞋盒,每个图像是一个气球,膨胀或收缩以填充鞋盒。
我尝试过以下失败的方法,即它改变目标的大小以适应新的图像。简而言之,它做的与我想要的完全相反。
let newTexture = SKTexture(imageNamed: newImage)
let changeImgAction = SKAction.setTexture(newTexture, resize: true)
myTarget.run(changeImgAction)
再次,保持myTarget的帧固定,并更改newTexture的大小以适应上面的帧。
1条答案
按热度按时间4nkexdtk1#
通过docs:
resize:如果为true,则重新调整子画面的大小以匹配新纹理。否则,子画面的大小保持不变。
所以,如果我理解正确的话,你根本不需要将
resize
设置为true
: