SpriteKit和Swift中的setSpcale和SKSpriteNodes的大小有什么区别?

Jua*_*rti 5 ios sprite-kit skspritenode swift

我试图SKSpriteNode从PNG图像设置a的大小(好吧,只需:

test = SKSpriteNode(imageNamed: "myImage")
Run Code Online (Sandbox Code Playgroud)

但是当谈到调整大小时,我不确定我是否应该使用test.setScaletest.size.有什么区别,什么时候应该使用它们?

Ale*_*ano 8

setScale():

设置节点的xScaleyScale属性.这两个参数是比例因子,它将节点及其子节点的宽度(对于xScale)和高度(对于yScale)相乘.

代码示例:

spaceship.setScale(0.50) // decreased scale to it's half size
Run Code Online (Sandbox Code Playgroud)

size():以磅为单位表示精灵的尺寸(宽度高度).

代码示例:

spaceship.size = CGSizeMake(100.0, 70.0) // Re-size the dimensions to these values
Run Code Online (Sandbox Code Playgroud)

你什么时候使用setScale,什么时候使用size

通常setScale用于增加或减少关于比例因子的精灵,例如SKAction.scaleTo用于进行放大或缩小.

size 经常使用,因为你可以用点表示你想要对精灵做的确切值.


小智 7

如果要更改SKSpriteNode的特定大小而不影响该sprite节点的任何子节点的大小,则应使用大小.

缩放精灵节点不仅会改变节点的大小(比例),还会适当地(按比例)缩放所有精灵节点的子节点.

如果精灵节点没有子节点,那么大小和规模之间没有实际差别.

注意:我发现当无关紧要时使用大小是有帮助的,因此我知道1.0的标度始终是默认大小 - 使用scaleTo代替scaleBy并再次返回默认大小的动画很方便.