maneira correta no Flex para fazer uma respondem painel transparente para a rolagem () eventos

StackOverflow https://stackoverflow.com/questions/291927

  •  08-07-2019
  •  | 
  •  

Pergunta

Eu tenho uma tela em um aplicativo Flex que tem itens dentro dela que cobrem apenas cerca de 50% da área da tela principal.

eu quero a tela para responder a eventos rollOver para a área total, e não apenas a área que é coberta pelos itens dentro.

Eu tenho vindo a estabelecer os seguintes atributos para conseguir isso:

<mx:Canvas backgroundColor="white"
backgroundAlpha=".01"
rollOver="rollOver(event)">...

Isso faz com que a tela inteira para responder a eventos capotamento. Ele funciona muito bem - eu não estou feliz com isso e acho que deve haver uma melhor maneira de alcançá-lo.

Existe uma maneira de eventos de força do rato para atuar em toda a área de um UIComponent?

Foi útil?

Solução

O que você está fazendo é perfeitamente aceitável, embora usando o valor alfa arbitrário de 0,01 é desnecessário, você pode configurá-lo de backgroundAlpha a um simples 0.

Eu rotineiramente usam telas para o multi complicado camadas UI e criar o meu estilo lona padrão via css para ter um backgroundAlpha 0 e um backgroundColor de #ffffff, então, se eu precisar de uma tela para ser realmente visível ajusto é backgroundAlpha indivíduo e as propriedades backgroundcolor.

Não há nada de errado com a configuração alfa de um objeto gráfico para 0 para que ele ainda responde a eventos, mas não foi 'desligado' por completo, nós como codificadores fazê-lo o tempo todo!

Outras dicas

E sobre ignorando seções de transparência de uma imagem? No meu caso eu gostaria que o roll over efeito ocorrer somente se a seção visível de uma imagem é rolou, não a parte transparente. Isso é possível?

Você pode fazer isso:



import flash.event.MouseEvent;
...
canvas.addEventListener(MouseEvent.ROLL_OVER,function(event:MouseEvent):void {
    ...
});

onde "tela" é o ID da tela em sua mxml.

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