SKNode convertPoint toNode & fromNode путаница?
Я немного смущен тем, как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:
это будет очень высоко ценится.