June 23, 2001 - Hiding and Revealing A Flash Movie | WebReference

June 23, 2001 - Hiding and Revealing A Flash Movie

Yehuda Shiran June 23, 2001
Hiding and Revealing A Flash Movie
Tips: June 2001

Yehuda Shiran, Ph.D.
Doc JavaScript

In some of your applications you may need to use Flash movies and JavaScript directly, without any prepackaged APIs such as FlashSound JavaScript API. You will enjoy more features, methods, and properties, but you'll have to take care of all the tiny details that are taken for granted when using FlashSound API, for example.

One of the "tiny" details is embedding the Flash object. The JavaScript file flashcheck2.js does exactly this, as well as other stuff. For example, it checks whether a Flash player exists (Flash plug-in or ActiveX control), and whether its version is higher than the minimum required by the application.

Use the TSetProperty() Flash method to set attributes of the Flash movie. One of the properties is VISIBILITY. You may both set and get this property. The VISIBILITY property designates whether the movie is visible or invisible on the page. You can set and get Flash properties by their sequence numbers. You get a property like this:

  mySwf.TGetProperty(timeline, propertyNumber);
And you set it as follows:

  mySwf.TSetProperty(timeline, propertyNumber, value)
The VISIBILITY property is no. 7, so you get its value by going:

  mySwf.TGetProperty(timeline, 7);
And you set it in a similar way:

  mySwf.TSetProperty(timeline, 7, value);
Play the following movie by clicking the Play link. Get the VISIBILITY of the movie (true or false) by clicking the Get Visibility link. Make the movie invisible by clicking the Set to Invisible link. Make it visible again by clicking the Set to Visible link. Repeat as many times as you want:

Rewind | Play | Get Visibility | Set to Invisible | Set to Visible

Here is the source code:

<SCRIPT LANGUAGE="JavaScript" SRC="flashcheck2.js"></SCRIPT>
<A href="javascript://" onclick="javascript:mySwf2.Rewind(); return false">Rewind</A> | 
<A href="javascript://" onclick="javascript:mySwf2.Play(); return false">Play</A> | 
<A href="javascript://" onclick="javascript:alert(mySwf2.TGetProperty('/', 7)); return false">Get Visibility</A> | 
<A href="javascript://" onclick="javascript:mySwf2.TSetProperty('/', 7, 0); return false">Set to Invisible</A> |
 <A href="javascript://" onclick="javascript:mySwf2.TSetProperty('/', 7, 1); return false">Set to Visible</A>
<SCRIPT LANGUAGE="JavaScript">
  var mySwf2 = Flash_embedSWF("opener.swf", "opener");
</SCRIPT>