Основная ошибка Atlas Kit Xcode 7 Sprite

Поэтому сегодня я решил начать тестирование своей игры на El Capitan и iOS 9. Это большой проект, над которым я работаю в свободное время почти 2 года. Поэтому я перенес свой код на Swift 2.0, нажимаю кнопку "Выполнить" и молюсь, чтобы Apple не сломала Sprite Kit (как это было в прошлом: раз, два, три, четыре, и даже не заводила меня в форму. узел...). Итак, моя игра запускается, и что вы знаете - все мои узлы неправильно расположены, как и мои анимированные текстуры. Некоторые другие мелкие ошибки, такие как количество дро, не отображаются, но они небольшие, и, надеюсь, они также будут исправлены.

Поэтому я начинаю отладку, и в конце концов я могу обнаружить, что большая часть проблемы связана с тем, что узлы в моих атласах не расположены правильно. Поэтому я создал пример проекта, как показано ниже, используя только один узел. Вы можете видеть на рисунке, я установил точку привязки узлов к (0,0) и положение к (0,0). Опорная точка сцены также (0,0). Я распечатал все эти значения, чтобы убедиться, что они верны.

введите описание изображения здесь

Вы также можете видеть, что он правильно нарисован в редакторе. Однако, когда я запускаю игру, я получаю следующее:

введите описание изображения здесь

Вы можете видеть, что узел нарисован неправильно. Его позиция равна (0,0), но она смещена. И никакая моя сцена не масштабируется, она соответствует размеру представления и устанавливается на ResizeFill.

Я получаю эту проблему как на El Capitan, так и на iOS 9. Что интересно, проблема становится тем заметнее, чем больше изображение содержит прозрачные пиксели. Как вы можете видеть из снимка экрана редактора, мое изображение содержит много прозрачных пикселей, поскольку я хотел четко показать ошибку. Если бы я использовал менее прозрачные пиксели, узел был бы меньше смещен.

Если я не использую атлас, то узел рисуется правильно, как показано ниже. Однако я, очевидно, хочу использовать атласы, чтобы я мог выполнять пакетную визуализацию своих узлов.

введите описание изображения здесь

Я подал эту ошибку на радар. Кто-нибудь нашел решение этой проблемы, которое не предполагает использование атласов?

1 ответ

Решение

Я нашел обходной путь к этому, когда я публиковал вопрос. Надеюсь, это поможет другим людям, которые столкнулись с проблемой. И, надеюсь, Apple исправит эту серьезную ошибку до окончательного выпуска.

Если вы используете новые атласы XCAssets И устанавливаете цель развертывания на последнюю версию, узел отображается правильно. Поэтому все, что вам нужно сделать, это переместить все свои атласы в наборы XCA. Это влияет на обратную совместимость iOS 8/Yosemite.

введите описание изображения здесь

Другие вопросы по тегам