Pergunta

Quero criar uma superfície de desenho invisível que se sinta sobre uma imagem. Essa superfície de desenho estaria encarregada de pegar a entrada do mouse e passar as coordenadas ao longo de um sprite que fica na camada entre a superfície de desenho e a imagem. A superfície de desenho é um sprite vazio.

De acordo com os documentos, um objeto de exibição que não tem nada dentro dele não pode ter sua largura ou altura. Isto é, sempre será zero.

Existe alguma maneira de contornar isso? Qual é a melhor prática?

Foi útil?

Solução

Você pode trabalhar com a API de desenho para desenhar formas com valores alfa extremamente baixos, isso fornecerá os valores sem ser visível aos olhos.

MAS

Talvez uma solução melhor seja registrar seus ouvintes do mouse no palco de dentro do sprite da superfície de desenho e que ele lide com os eventos do mouse por conta própria. Não sei o suficiente sobre o que você está tentando fazer, mas, se possível, seria uma solução mais limpa / simples.

Mesmo que você não possa colocar os ouvintes no sprite da superfície de desenho, poderá adicioná -los ao palco de onde quer que esteja trabalhando, em vez de usar um objeto extra.

Outras dicas

Se você precisar apenas dos limites para o seu desenho, acho que a solução mais fácil seria ouvir os eventos do mouse de palco e a programação limitará seu desenho ... se você ainda acha que precisa desse sprite transparente, poderá desenhar um retângulo transparente (Iniciar preenchimento (0, 0)) ou crie um bitmap transparente (novo bitmapdata (largura, altura, verdade, 0)). Não tenho certeza de qual seria a "melhor prática" ....

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top