2015-10-21 3 views
2

Я делаю iOS с помощью Swift и SpriteKit. Однако я испытываю нерегулярность при работе с моим приложением. Иногда корабль SKSpriteNodes не появляется на экране, иногда SKSpriteNodes пули не появляются, иногда все выглядит нормально (я добавляю пули в другом месте кода). Во всех случаях я не вношу изменений в код между прогонами. Я запускаю приложение прямо на этом экране, поэтому я думаю, возможно, это связано с этими SKSpriteNodes, не имеющими достаточно времени для инициализации. Есть идеи?Swift SpriteKit SKSpriteNode «Иногда» не отображается

ответ

12

Установите zPositionself.ship так, чтобы он находился перед узлами фона. Что-то вроде этого (я хотел бы сделать это после установки положения):

self.ship.zPosition = 1.0 

Вы также можете использовать негативы в zPosition, например, уронить self.background вниз. Подумайте о zPosition как о слоях (с поддержкой десятичных знаков), чем выше число, тем ближе к «вершине» стека слоев ваш узел будет.

+1

Он мог также установить непрозрачность всех своих спрайтов на 0,5 временно, чтобы увидеть, скрывается ли кто-нибудь из них за другим. Если они все еще не появятся, он может быть уверен, что это не глубина и что что-то еще не так. –

+0

Спасибо тысячу раз. Это была проблема! – mpkostek

+0

@mpkostek Удивительный, рад помочь. – Gliderman

Смежные вопросы