GhostWire Studios - Flash/Flex UI Components Development And Consulting Services
Quality User Interface Controls For Flash Application DevelopmentAspireUI Components

Aug 23 2011

Severe TextField WordWrap Bug in Flash Player version 10.3.183.5

Published by under Flash

There is a severe TextField bug in current Flash Player version 10.3.183.5, causing text to display vertically with each letter on each line in TextField instances where the wordWrap property has been set to true.

This causes a concern for the Flash Platform in general, because this shows that existing code is basically held hostage to future Adobe Flash Player updates that may break past deployed code. I would expect Adobe QA to be more rigorous than this.

This issue can be found in the bugbase, but while marked as fixed, it is not:

https://bugbase.adobe.com/index.cfm?event=bug&id=2941694

Being an inherent player bug that causes problems to past deployed code, this is not something that can be fixed by using “workaround code”.

The problem is severe enough to warrant a quick update to version 10 (or pull 10.3.183.5 from further distribution), but Adobe has chosen to fix it only in version 11 BETA instead. I don’t think this is acceptable.

One response so far

Apr 22 2010

uiImage: Loading Resources From Foreign Domains

Published by under Aspire UI,Flash

The uiImage component is used to display an image (JPG/PNG/GIF). The path to the image is specified by the source property. By default, the uiImage object will attempt to load resources from the “assets/images/” folder (path is relative to the application SWF). To load from a different path, for example the folder “resources/images/”, prefix the source with “url:”, example “url:resources/images/garden.jpg”.

In order to load images from a different domain, the Flash Player will need to read a crossdomain.xml file from the foreign domain (and this file must grant permission to your domain to access the required resources). Typically, you would expect to need to specify a checkPolicyFile property somewhere. In the case of the uiImage component, there is no checkPolicyFile property to set because this would be unnecessary.

Continue Reading »

No responses yet

Oct 07 2009

[AS3] Truncating ByteArray Does Not Dispose Contents, Free Up Memory

Published by under Flash,Flash AS3,Tips

When targeting Flash Player 10 or AIR 1.5, you can use the clear() method of the ByteArray class to explicitly clear the contents of the byte array and free up the memory otherwise used by the bytes. The length and position properties are reset to zero after calling the clear() method.

Unfortunately, when targeting Flash Player 9, this clear() method is not available. If you are using a ByteArray object as a data store, keeping a reference to the object and therefore not allowing the object to be garbage collected, do take note that there is no way to clear the contents. This means that the size of ByteArray objects can only be enlarged and never shrunk.

It is important to note that while you can truncate the ByteArray to zero byte by setting its length property to zero, this will not dispose the contents or free up the memory used.

Continue Reading »

2 responses so far

Aug 11 2009

[AS3] Fixing The Lag That Arises When Playing A Short Sound Effect

Published by under Flash,Flash AS3,Tips

There is a Flash Player issue that arises when you play a short sound effect in the absence of any other sound playing. If your application plays a sound effect when there is not already another sound playing, then your application will experience some lag (length of lag depends on the performance of the client machine).

Things will seem to freeze for that short moment, and then the sound effect plays, and then execution of code resumes.

Continue Reading »

20 responses so far

Oct 17 2008

[AS3] Fixing TextField.bottomScrollV and TextField.maxScrollV

Published by under Flash,Flash AS3,Tips

There is a rather strange issue with the flash.text.TextField class, one related to the delayed updating of the TextField.bottomScrollV and TextField.maxScrollV properties. The TextField.bottomScrollV indicates the bottommost line that is currently visible in the specified text field while the TextField.maxScrollV indicates the maximum vertical scroll position value.

The problem with these two properties is that they do not update immediately at those times when they should -

(i) when a TextField instance is resized such that the vertical scroll bounds change; and

(ii) when the TextField.wordWrap property changes (from false to true or vice versa).

Continue Reading »

5 responses so far