Hi Nick, 2009/8/19 Nick Sabalausky <bus_mailingli...@semitwist.com>: > Some things I wanted to check on before actually filing bug reports (and > these all seem to be common to all of the 0.2.12.x versions, as far as I > could tell. Ie, including your custom ones, but not exclusive to them): > > - When a movieclip has multiple frames, each containing transparency, each > of the frames "show through" to all previous frames. I'd be very surprised > (and somewhat disappointed too, actually) if this is intended behavior, but > I'm not certain, so I thought I'd ask.
If you mean that the *contents* of each frame have the same depth then yes, that's intended behaviour and a feature of the SWF format. The idea is that if some elements of your animation are constant between frames then you can keep them from one frame to the next with zero bandwidth. If there's a clip placed in frame 1, and you no longer want it in frame 2 but you are also not replacing it, the solution is to explicitly remove it in frame 2. Unfortunately there's no way to do this currently in the simple dialect. Please do report a bug requesting that feature. (I suppose a <remove-all> or similar might be helpful too). > - When placing clips in swfmill-simple, is the depth attribute supposed to > be required? If so, there should probably be an error or warning when it's > omitted (There doesn't seem to be, currently). If not, then there's a bug > when doing so: If there's multiple frames, all omitting the depth attribute, > then only the first frame is ever actually shown. In the sense that there's no code to choose a default for you, yes, it's supposed to be required :). What actually happens is that swfmill generates <PlaceObject2 depth="" ... >, which I am guessing translates into depth="0" in the output SWF. That usually works, more by luck than judgement, but what doesn't work is the code that kicks in if you're replacing a previous object at the same depth. Two possible solutions: * Report an error and die if there is no explicit depth. * Choose a reasonably sane default somehow. Three possible ways to choose a default: * Always 0 (confusing/unhelpful, but closest to current behaviour). * The lowest unused depth in the current frame (behaves weirdly if you don't replace all objects in every frame). * The lowest unused depth in all frames (but then the default behaviour is for all objects persist from one frame to the next). Normally I'd prefer to choose a default but I think that, whatever default we choose, the resulting behaviour will be confusing once multiple frames come into play. An alternative would be to make depth mandatory if there are multiple frames, but optional otherwise. A lack of error-reporting is a general problem with swfmill. I intend to make it much stricter in general. If you report any specific cases where you would like it to be stricter that will help to make sure I don't miss those. Cheers, Dan. _______________________________________________ swfmill mailing list swfmill@osflash.org http://osflash.org/mailman/listinfo/swfmill_osflash.org