How to Avoid the X-ray Effect with Semi-transparent Nested Symbols

Flash

One of the facts of life in working with Flash is the way in which it displays semi-transparent nested symbols — which wasn’t what I expected, the first time I saw it.  To my thinking, the most fitting description is “the x-ray effect.”  Consider the following graphic symbol (the Quip mascot), at 100% opacity.

Nested symbol at 100% opacity

Here it is again at 30% opacity.

Nested symbol at 30% opacity

As you can see, its “bones” are showing!  All of the inner symbols inherit the alpha property of their parent, so the inner symbols are themselves semi-transparent.  Where they overlap, those areas show up as darker or more solid.  It makes sense, and might be a neat effect under certain circumstances, but I wish it wasn’t simply “the way it is.”

Fade-ins and -outs only last a short while, generally speaking, but I don’t care for the idea that viewers can see how I composed my nested symbols.  It makes me feel as if I’m tipping my hand, somehow.  And then, what if my nested symbol was, say, a ghost character, semi-transparent most of the time?

Is there a way to avoid the x-ray effect?

There is, though it only works under certain circumstances.  Rather using Alpha in the Color Styles portion of the Property inspector, use Tint and set the tint color to the same color as the background, then reverse your percentage.  30% alpha on a white background becomes 70% white tint.

Alpha in the Property inspector

Tint in the Property inspector

In cases where your background is a solid color, problem solved.  Tint can be tweened just like Alpha can.

Update!  Thanks to Rodrigo (see comments below) for an even simpler tip.  In cases where Flash Player 8 or higher is your destination platform, you may continue to use Alpha … just make sure to apply a Layer blend mode to the layer that contains the artwork.

6 Responses to “How to Avoid the X-ray Effect with Semi-transparent Nested Symbols”

  1. Markus Says:

    … and renders a lot faster!

  2. detonate Says:

    nice tip, thanks David

  3. Rodrigo Says:

    another way is seting the blend mode to layer.
    it works for complex object over complex backgrounds.

  4. David Stiller Says:

    Rodrigo,

    That is awesome! For Flash Player 8 and higher, that’s the quickest, most flexible way to go. Thank you!

  5. daniel b Says:

    Using this tip along with a ‘Blend’ setting of ‘Multiply’ worked wonders for fading out above a busy background.

  6. David Stiller Says:

    daniel,

    Thanks!

Leave a Reply