SKLabelNode никогда не отображается в TestFlight

В моей игре Sprite Kit Game я использую несколько SKLabelNodes... на большинстве из них я запускаю SKActions. На всевозможных симуляторах iOS, а также на устройстве (iPhone 6) все работает нормально. Но! ... на всех устройствах Testflight (включая некоторые iPhone 6) никогда не отображается одна метка!

Как это могло быть?


person user3138007    schedule 26.07.2015    source источник


Ответы (1)


Я бы рекомендовал установить свойство .name SKLabelNode вместе со всеми другими узлами в вашей сцене и протестировать с помощью некоторых операторов журнала:

(Допустим, вы идете с: missingLabelNode.name = @"Missing";)

// make sure the Label Node has been added to the scene
NSLog(@"%@ label", [self childNodeWithName:@"Missing"].name);

После того, как вы уверены, и журнал печатает «Отсутствует этикетка»..

// Find the coordinates of the Label Node
NSLog(@"Located at X:%f Y:%f" [self childNodeWithName:@"Missing"].position.x, [self childNodeWithName:@"Missing"].position.y);

// If you've added it to a different layer of the scene, or another node
NSLog(@"Inside Parent:%@" [[self childNodeWithName:@"Missing"] parent].name);

Теперь вы должны быть уверены в его координатах и ​​присутствии на сцене. Вы также можете преобразовать его положение, если он является дочерним элементом узла, отличного от самой сцены, используя [self convertPoint:missingLabelNode.position toNode:self] и регистрируя эти координаты.

Наконец, если вы уверены, что он должен находиться в визуальных границах сцены, я бы проверил его zPosition. Очень легко потерять узел за другими узлами. Увеличьте свойство zPosition до самого высокого установленного вами индекса. Если вы не установили zPosition для других узлов, используйте missingLabelNode.zPosition = 10.0f;, чтобы вывести его на вершину иерархии узлов.

Это должно сработать.

person ChrisHaze    schedule 26.07.2015