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 frameCGRectCGSizeCGPointCGSizeCGPoint
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 次 |
| 最近记录: |