Skip to content

Posts from the ‘Actionscript 2’ Category

9
Jul

OMG! Specific Flash accessibility techniques, code samples and tests for WCAG 2.0

Historically it’s been difficult to find meaningful help when trying to make Flash content comply with the old W3C, and more recently WCAG2.0, accessibility requirements. This W3C draft list of Flash Techniques for WCAG2.0 is (a draft version) of the final word.

It includes detailed instructions for the Flash IDE Accessibility panel, example AS2 and AS3 implementations, and tests to ensure compliance for 35 different Flash scenarios. I love this list because it makes it easier for me to explain the amount of work in ‘making it accessible’ to colleagues who don;t really ‘get’ accessibility.

More than that, it gives testable code examples of specific implementations and explains them in multiple contexts. Thankyou W3C! :)

Because it’s currently a draft document you won’t find these techniques in the ‘How To Meet WCAG 2.0 Checklist‘. Comments close on August 9.

13
Nov

Articulate Engage content inside an AS3 Flash container? Well, almost…

Articulate’s Engage software is a quick and polished way to create eLearning interactions. Unfortunately, it’s also built from the ground up in AS2.

So while the Engage content SWFs can be loaded into an AS3 container, you definitely can’t use images in your Engage content because the XML onLoad event fails to fire when AS2 content is loaded into an AS3 container.

I used ‘Charles‘ to see what HTTP requests were being sent and noticed that:

  • When browsing directly to the Engage SWF a GET request for the image is sent immediately after the Engage content XML is loaded; and
  • When browsing the Engage content after it’s loaded into my AS3 container the GET request for the image is never sent.

While it’s not cast-iron proof I think it’s safe to assume that an ‘onLoad’ event for the XML might not be firing, so the Engage SWF hangs, waiting for confirmation that never comes.

While it’s not completely crippled (text-only interactions are just fine) this reduces the usefulness of Engage content in any Flash environment that’s been built in the last few years.

21
Aug

AIR runtime breaks AS2 flashlog.txt output

Yesterday I installed the AIR runtime to make use of the Adobe Media Player. Now my AS2 Flash applications can’t output to the flashlog.txt file while an AIR application is running.

This definitely didn’t happen when using the Flex Builder 3 plugin to compile AIR apps from Eclipse, before yesterday that worked fine AND my AS2 MTASC apps would still output to the flashlog.txt file.

And (naturally enough I suppose) it’s also affected my standalone Flash 8 and 7 debug players.

Apparently this is a known issue. See this blog post, this bug report at Adobe, and this unhelpful ‘no workaround’ information from Adobe.

Apparently I just need to quit my AIR application, but I was temporarily sidetracked by an AIR application that failed silently before it launched completely and kept the AIR runtime active in the background (but not visible in the Windows Task Manager). So until I restarted the computer my AS2 apps remained mute.

I’m experiencing this on Windows XP SP2 using Eclipse/MTASC and FlashTracer in Firefox, but I understand from the available info that it’s also happening on other platforms.

My mm.cfg file contains…
ErrorReportingEnable=1
TraceOutputFileEnable=1
MaxWarnings=1

If I find a solution I’ll post it here, but if you’re having a similar issue I’d appreciate a comment.

19
Dec

The Unbearable Strangeness of Embedding Fonts | connectedpixel.com

Excellent resource for anyone with questions about font usage and embedding in Flash.

The Unbearable Strangeness of Embedding Fonts | connectedpixel.com

18
Dec

Open Source Flash – flashinterface

Open Source Flash – flashinterface

FlashInterface provides synchronous communication between the Flash Player ActionScript Virtual Machines. In other words it allows you to communicate between Flash 8 and 9 SWFs.Supported features:

  • Event Model (Subscription and Dispatch)
  • Direct access to SWF public API methods and propertiesDirect access to registered items public API


The Flash Player 9 runs in a new ActionScript Virtual Machine (AVM). Though many new projects can be developed ground up using Flash 9 or Flex, it is likely that your projects will still be using elements and SWFs that have been published for the Flash 8 player or lower. Flash has always offered the ability to load up one SWF inside of the other and then you could treat that SWF as if it resided as a native inside the loading SWF, communicating and driving it directly within your application. Communicating between the two AVMs is no longer that simple. FlashInterface provides the means to communicate directly between the Flash 8 and 9 AVMs. FlashInterface will allow you to move forward, building Flash 9 player applications while still using existing SWF resources from previous Flash player versions.

2
Dec

AS2 Frameworks and libraries

animationPackage

as2lib framework

asapframework

aswing gui library

enflash framework

flade

flashr AS2 flickr library

pixlib framework

sandy 3d library

XPath by xfactorstudios – documentation

28
Nov

SetInterval blues…

1) SetInterval accepts scope reference…
Tracing out ‘undefined’ when looking for a clip reference inside a function called by setInterval? setInterval (because it’s an overloaded method) will also accept a scope reference parameter (as long as you express your callback as a string)…

launchInt = setInterval(this,"playSWF",50)

2) Flash 8 vs Flash 9 player behaviour
Niklas Alvaeus tracked this one down… sending a string as a callback function worked fine in Player 9 (and in Player 6), but failed in Player 8. He worked around it by identifying the callback function as a Delegate.