私のスプライト キット ゲームでは、いくつかの SKLabelNodes を使用しています。それらのほとんどで SKActions を実行しています。デバイス (iPhone 6) だけでなく、あらゆる種類の iOS シミュレーターですべて正常に動作します。しかし!..すべての Testflight デバイス (一部の iPhone 6 を含む) で、1 つのラベルが表示されない!
それはどうしてですか?
私のスプライト キット ゲームでは、いくつかの SKLabelNodes を使用しています。それらのほとんどで SKActions を実行しています。デバイス (iPhone 6) だけでなく、あらゆる種類の iOS シミュレーターですべて正常に動作します。しかし!..すべての Testflight デバイス (一部の iPhone 6 を含む) で、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 プロパティを、設定した最大のインデックスのプロパティに増やします。他のノードの zPositions を設定していない場合missingLabelNode.zPosition = 10.0f;
は、ノード階層の最上位に移動するために使用します。
これでうまくいくはずです。