我在SpriteKit中制作游戏。我在不同的节点上有不同的类,我将在我的场景中使用。我需要让我的游戏具有通用性,以便适应每个屏幕。定义我将在不同类和主场景中使用的不同变量的最佳方法是什么。
答案 0 :(得分:0)
然后初始化您的节点,您可以创建world
SKNode
的参数,然后访问您的world.frame.size
。
class NodeClass: SKSpriteNode {
init(world: SKNode) {
super.init(texture: nil,
color: UIColor.clearColor(), size:
CGSizeMake(world.frame.size.width / 24, world.frame.size.width / 24))
}
}
您还可以设置position
和movament,缩放取决于您的场景大小。
答案 1 :(得分:0)
您不应为不同的屏幕定义不同的元素大小。从长远来看,这将使一切变得更加复杂。
不应考虑像素,而应根据点定义尺寸。
在GameViewController
中的下一步,将您的场景的scaleMode
设置为.AspectFill
。
gameScene.scaleMode = .AspectFill
这样,整个场景(及其内容)将自动缩放以填充当前显示。你不会疯狂地尝试为每个元素管理不同的大小。