SKNodeメソッドがどのように機能しconvertPoint:fromNode:ているかについて少し混乱しconvertPoint:ToNode:ています。ドキュメントを見てきましたが、それらが何をしているのかは明らかではありません。たとえば、これ (下の図を参照) を使用して行った小さなテストですconvertPoint:fromNode:。黒い領域はSKScene背景、青い領域は のSKSpriteNode親SKScene、赤い領域はSKSpriteNode青いスプライトの別の親です。両方のスプライトのアンカー ポイントは、小さな緑色の点で示されています。私がやりたかったのは、次のコードを使用して、赤いスプライトのシーン位置を取得することでした。
CGPoint positionInScene = [self convertPoint:[self position]
fromNode:[self redSprite]];
これからの結果は
positionInScene = [105, 205]
これは、シーン空間の赤い四角の原点になるので、私が期待したものです。私が混乱しているのは、引数です。私が推測できることから:
[SKNode_A convertPoint: CGPoint_B toNode: SKScene_C]
- SKNode_A = 変換先のノード座標空間 ...
- CGPoint_B = 変換するポイント ([自己位置] が上にある理由がわからない)
- SKNode_C = 変換元のノード座標空間 ...
これを最初に試した[self convertPoint:[redSprite position] fromNode:redSprite]のは、赤いスプライトの原点をシーンに変換したかったからです。頭を丸くするのは少し不格好に思えます。誰かがこれとその友人の両方に少し光と論理を投げかけることができれば、convertPoint:toNode:それは非常に高く評価されます.
