SKSpriteNode具有相对于屏幕的大小

时间:2017-03-14 20:46:07

标签: sprite-kit skspritenode

我正试图创建一个模态' SKSpriteNode填充大部分屏幕减去每边的边框。我有一个SKSpriteNode的子类,因为我需要传递一些其他信息用于显示目的,所以我有一个自定义的init方法。

在我初始化我的模态后,然后将大小设置如下:

    let modal = Modal(items: [Item])
    let newSize = CGSize(width: (frame.width) - 40, height: (frame.height) - 40)

    modal.size = newSize
    modal.zPosition = 999
    addChild(modal)

问题是我的Modal顶部或底部没有边框,它会垂直填满整个屏幕。我的定制' init'模态的方法调用super.init传递50,50的大小,所以即使它应该比屏幕小得多,如果那是它正在使用但它不是。我的游戏处于横向模式,我尝试在上方切换宽度和高度但是填满了整个屏幕(所以左右两边都没有边框)。我知道我没有在上面的代码中设置位置,但即便如此,我希望看到一个边界'如果它不均匀的某个晚上。

这一切都在我的主场景文件中完成,因此这里的框架与主游戏场景的框架有关。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

因此,对于其他人有类似问题,问题是我的场景是从SKS文件加载的。

有问题的SKS文件将其大小设置为自由格式。将其更改为特定设备(例如iPhone 6)并确保方向设置为横向已修复了尺寸调整的问题