Last week I spent a whole day trying to solve an issue in Phoenix due to a strange problem which comes up suddenly after some code changes.
The problem was that now using the transformation tool the bounds of the selected bitmap were not detected correctly and the tool itself didn't work.
So I spent a lot of time in checking out all the recent code changes ( and they were a lot! ) to find out the possible cause...
Anyway, I was lucky to figure out the problem by accident and the problem was cacheAsBitmap!

The problem with the tool is because in order to find the correct bounds of any element on the stage it use the .concatenatedMatrix property of the element itself ( which represents the combined transformation matrixes of the display object and all of its parent objects, back to the root level ).
BUT if any of its parent display object ( not the root itself ) has the cacheAsBitmap property set to true then the concatenatedMatrix returns a wrong value!

I put a real simple flash example of what I mean. Just click on any of the 2 colored objects to activate the transform tool, then click on the "cache" button and click again on those objects to see the difference.

 

P.S. I've reported the bug in the flash player bugbase, if anyone is interested in watch or vote for it.

Subscribe to Planet Flash

Search

Tags

3d 3d Flash Actionscript actionscript 3 ActionScript 3.0 Adobe Adobe Air Adobe AIR (Apollo) Adobe Flash Adobe Flex AdobeMAX08 AIR AIR Adobe Integrated Runtime Announcements apollo as3 Asides awards BEA Beautiful Web Business Cairngorm ColdFusion Community Components Conferences design dev Development Events Examples Featured Flash Flash CS3 Flash experiments flash player Flex Flex 3 Flex Example FMS Fun Gallery General GeoWeb Google Jobs linux Marketing MAX MAX 2007 Misc News news & events Open Source Other Papervision3D Personal photos Photoshop Process Processing RIA Singularity Site News Stuff techmology Technology Thinking Loud Tips Uncategorized Video Whatever

Blogs

Buttons

Planetarium