June 17, 2001 - Shifting a Flash Movie Sideways | WebReference

June 17, 2001 - Shifting a Flash Movie Sideways

Yehuda Shiran June 17, 2001
Shifting a Flash Movie Sideways
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 X POSITION. You may both set and get this property. The X POSITION property designates the horizontal offset of the movie frame with respect to its embedded position 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 X POSITION property is no. 0, so you get its value by going:

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

  mySwf.TSetProperty(timeline, 0, value);
Play the following movie by clicking the Play link. Get the X POSITION of the movie by clicking the Get X link. Move the movie to the right by 200 pixels by clicking the Set X link:

Rewind | Play | Get X | Set X

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('/', 0)); return false">Get X</A> | 
<A href="javascript://" onclick="javascript:mySwf2.TSetProperty('/', 0, 200); return false">Set X</A>
<SCRIPT LANGUAGE="JavaScript">
  var mySwf2 = Flash_embedSWF("opener.swf", "opener");
</SCRIPT>