Obtenha coordenadas no pai, mas não no palco
Pergunta
Eu sei sobre o Flash's localToGlobal
e globalToLocal
Métodos para transformar coordenadas do sistema local para o sistema global, mas existe uma maneira de alcançar o intermediário? Transformar coordenadas de um sistema arbitrário em qualquer outro sistema arbitrário?
Eu tenho um objeto clicável dentro de um sprite e o sprite é um filho do palco. Eu quero recuperar o ponto clicado no sprite.
Solução
Você pode usar o seguinte:
var m:Matrix = a.transform.matrix.clone();
m.invert();
bCoord = m.transformPoint(aCoord);
Parece um pouco verbal, devido à assinatura realmente estúpida do invertido, mas quando os clipes são profundamente aninhados, deve ser mais rápido.
Desculpe, apenas releia sua pergunta. Se você quiser descobrir o ponto de clique, então você pode fazer globalToLocal
com o MouseEvent
's stageX
e stageY
.
greetz
back2dos
Outras dicas
Enquanto digitava, tive a resposta. Imaginei que publicaria a pergunta de qualquer maneira para que outros possam encontrá -la em busca.
bCoordinate = b.globalToLocal(a.localToGlobal(localPoint));