2 votes

Bitmap transparent bloquant les événements souris pour les objets sous-jacents

J'intègre un bitmap via la balise Embed. Il s'agit essentiellement d'une forme de cercle avec mille effets créés par le graphiste :)

Mon problème est que j'ai quelques icônes autour de ce cercle, dans sa partie extérieure, mais la boîte rectangulaire du bitmap bloque tout événement. Je ne peux pas changer l'indice z des icônes à cause de ma configuration, et je suis vraiment confus à ce sujet.

Évidemment, j'ai déjà essayé d'envelopper ce bitmap chargé dans un sprite et de mettre sa propriété mouseEnabled à false (ainsi que ses mouseChildren, juste au cas où), mais cela ne fonctionne pas.....

Est-ce que je dois vraiment utiliser la méthode getObjectsUnderThePoint comme indiqué aquí ou est-ce que je rate quelque chose d'évident ?

Je vais mettre de côté ma fierté et demander de l'aide :) Merci !

Ma liste d'affichage contient deux instances de deux classes différentes :

  • Sous-menu (où se trouvent les icônes)
  • Menu principal (où se trouve le bitmap)

...cela signifie que l'instance de mon support d'icônes se trouve sous celle qui contient le bitmap.

1voto

fsbmain Points 4013

Si vous n'avez pas besoin de l'interaction de la souris avec le bitmap, vous pouvez simplement l'envelopper avec la balise Sprite et définir le mouseEnabled pour le sprite d'emballage à false :

    var wrapper:Sprite = new Sprite();
    wrapper.addChild(bitmap);
    wrapper.mouseChildren = wrapper.mouseEnabled = false;

UPD : Pour l'avenir - tout autre Sprite bloquera la souris, vous devez donc définir le paramètre mouseEnabled=false pour tous les Sprites parents ou définir mouseChildren=false jusqu'à celui qui est le plus haut.

-1voto

KumoKairo Points 678

Le bitmap ne devrait pas bloquer les événements de la souris s'il n'est pas dans le conteneur. Il ne reçoit aucun des deux (et c'est pourquoi il ne bloquera aucun événement s'il est seul) Peut-être devriez-vous essayer de .mouseEnabled = false votre objet Menu Principal

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X