Can anyone explain why Flash is doing this?

Ok, I found a work-around, but I’m one of those people who must know why things that should be perfectly logical don’t work the way they should.

Which is the reason I became a graphic designer and not a programmer! Lol.

Righto. Fairly simple page, a screenshot, static text box, dynamic text box, two buttons, and the problem: eleven little highlight squares to show the buttons in the screenshot. There’s some code to hide each button, show the rest, and change the dynamic text on rollover, which all works fine. Not elegant code, but it works. It’s a simple click-through tutorial, no point getting fancy.

For some bizarre reason that I cannot fathom, whichever of these highlights is furthest to the back decides that it is no longer going to function. All I need to do is bring it forward one level, and it works - but then the one now at the back stops. I tried splitting them over two layers, figuring that it might be too many objects per layer, but it did the same thing. I have done a workaround by creating one more than I need, alpha = 0, and chuck it to the back. Now the rest work a dream, and I can get on with it.

But now I need to know why it’s doing it. Why, oh why has it seemingly forsaken logic in the eternal struggle to remove my brain?

Anyone got any ideas?

(And I’m sorry, I can’t post it. It’s not anything exciting, but I think the client might get upset with me were I to share my little flash tutes for it around the world.)

can you post your script for your buttons (don’t have to post the entire project)? My gut says its something in your scripting.

Okay, that I can do. Just remember - it was meant to be a very quick job, so I coded the lazy way.


function clearAll() {
 h1._visible = true;
 h2._visible = true;
 h3._visible = true;
 h4._visible = true;
 h5._visible = true;
 h6._visible = true;
 h7._visible = true;
 h8._visible = true;
 h9._visible = true;
 h10._visible = true;
 h11._visible = true;
}
h1.onRollOver = function() {
 clearAll();
 h1._visible = false;
 hltxt.text = "Blah blah blah.";
}

And so on, for h1-h11. Each is identical aside from the symbol name (and it can’t be that, because all of them work so long as they’re not at the back).

Cheers!