Я схожу с ума, пытаясь понять это. У меня есть игра, над которой я не работал некоторое время. Я загрузил его в Xcode и обновил до swift 5 с 4, все прошло нормально. В игре используется несколько более крупной, но оптимизированной графики для фоновых элементов (PNG размером около 1000x1500 пикселей, но оптимизированы до размера файла 120-500 тысяч за счет ограниченных палитр). После обновления большинство этих фоновых элементов (которые являются SKSpriteNode) отображаются на экране как solid белых спрайтов. Некоторые из самых маленьких отображаются правильно. Я не могу найти никого, кто испытывал бы то же самое на stackExchange. Кто-нибудь еще испытал это? Любой знает решение.
Некоторые спрайты добавляются динамически, а некоторые помещаются в SKSceneNode с помощью редактора сцены.
Если я распечатываю неработающий SKSpriteNode, я получаю следующее:
имя: '(null)' текстура: ['BG_Building_06.png' (218 x 1939)] позиция: {0, 0} масштаб: {1,00, 1,00} размер: {218, 1939} привязка: {0,5, 0,5} вращение: 0,00
И если я распечатаю SKSpriteNode.texture, я получу:
Необязательно ('BG_Building_06.png' (218 x 1939))
Я также попытался вдвое уменьшить размер всех исходных png-файлов, и это решает большинство из них (но не является идеальным решением), поэтому определенно кажется, что это проблема с размерами спрайтов. Странно, что это работало без проблем в более старой версии, но теперь становится проблемой.
Я действительно схожу с ума, пытаясь решить эту проблему.
Спасибо.