Sam*_*edo 4 ios sprite-kit skspritenode swift swift3
在我的应用程序中,对于一个屏幕,我正在设置大小并使SpriteKit节点的背景居中.例如,我正在设置背景子视图的大小,如下所示:
backgroundNode.size = self.frame.size
Run Code Online (Sandbox Code Playgroud)
虽然这适用于iPhone 6 Plus,但iPhone 5的较小屏幕/较低分辨率意味着其他节点的默认大小太大而无法放入场景中.
如何强制其他节点符合后台节点的大小?我想用背景子视图的大小来划分每个子视图的大小,但是不能直接在size属性上进行数学运算.
SpriteKit场景(SKScene
)包含节点,节点(SKNode
),它们具有size
和position
属性(分别为type CGSize
和type CGPoint
).同样在IOS,所述 属性是一个对象,它是由和对象.因此,理解如何使用和真正有用.UIView
frame
CGRect
CGSize
CGPoint
CGSize
CGPoint
SKNode大小和位置是类似于具有多个字段的简单C结构构建的类的原因是因为它们是"复合类型",即它们每个都包含多个值.例如,CGSize
包含width
和height
属性,CGPoint
由x
和y
属性组成.
因此,如果要调整节点的大小和位置(或者UIView
,通过其frame
属性),则需要执行访问属性的额外步骤.
如果要分割的大小,你要访问width
和height
对性能的CGSize
单独的类.
一种方法是在一次操作中分配大小:
node.size = CGSize(width: node.size.width / backgroundNode.size.width,
height: node.size.height / backgroundNode.size.height)
Run Code Online (Sandbox Code Playgroud)
或者你可以这样做:
node.size.width = node.size.width / backgroundNode.size.width
node.size.height = node.size.height / backgroundNode.size.height
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3901 次 |
最近记录: |