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.

Foi útil?

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));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top