1

私のスプライト キット ゲームでは、いくつかの SKLabelNodes を使用しています。それらのほとんどで SKActions を実行しています。デバイス (iPhone 6) だけでなく、あらゆる種類の iOS シミュレーターですべて正常に動作します。しかし!..すべての Testflight デバイス (一部の iPhone 6 を含む) で、1 つのラベルが表示されない!

それはどうしてですか?

4

1 に答える 1

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;は、ノード階層の最上位に移動するために使用します。

これでうまくいくはずです。

于 2015-07-26T20:51:05.743 に答える