|
|
Tech Note 41: Using Adobe Flash with NS Basic
|
The Macromedia Flash Player 7 for Pocket PC (http://www.adobe.com/products/flashplayer_pocketpc/downloads/player.html) is an ActiveX control which can be easily incorporated into a NS Basic application as follows:
1. Install Flash Player 7
2. Declare the ActiveX object in your application as follows:
AddObject "ShockwaveFlash.ShockwaveFlash", "Flash1", 10, 10, 100, 100The above will define a Flash player window which is 100 x 100 pixels in size located at +10,+10 from the top left corner of the screen.
The player supports Flash files in SWF format which can be loaded and played using the command:
Flash1.movie="file://\my documents\myflashfile.swf"Several other actions are available as shown below:
Flash1.stop ' pause playback Flash1.play ' resume playback Flash1.zoom(50) ' zoom in Flash1.zoom(200) ' zoom out Flash1.rewind ' rewind to beginning
AddObject "NSBasic.ComDlg","dialog",0,0,0,0
AddObject "ShockwaveFlash.ShockwaveFlash", "ShockwaveFlash1", 0, 0, 240, 270
Menu = ARRAY("File","Play","Stop","About","Exit")
SETMENU "Titlebar", Menu
Sub play_click
Shockwaveflash1.play
End Sub
Sub stop_click
Shockwaveflash1.stop
End Sub
Sub about_click
Msgbox("NSB Flash Player v1")
End Sub
Sub exit_click
Bye
End Sub
Sub file_click
dialog.DialogTitle = "Pick a Flash file to open"
dialog.InitDir = "\storage card"
dialog.Filter = "SWF|*.swf"
dialog.FilterIndex = 1
dialog.Flags = &H1000 Or &H800 'path and file must exist
dialog.filename = "" 'initialize
'Generate error if cancel is pressed
dialog.CancelError = True
On Error Resume Next
dialog.ShowOpen
'Determine action to take after dialog is dismissed
If Err.Number = 0 Then
txtFileName = dialog.filename
Else
If Err.Number = 32755 Then MsgBox "Canceled"
End If
Shockwaveflash1.movie="file://"+txtfilename
End Sub
The documentation below describes the scripting interface for the Flash Player ActiveX control. This control handles playback of Flash content on Windows machines which support ActiveX.
Experienced scripters should read the article Scripting with Flash for an overview of JavaScript methods which can control the Flash Player. Beginning scripters may benefit more from the example-based TechNotes "An example of communication between JavaScript and Adobe Flash Player" (TechNote 15683) and "An example of communication between Macromedia Flash 5 movies through JavaScript" (TechNote 15692).
| PropertiesReadyState (get only) | 0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete. |
| TotalFrames (get only) | Returns the total number of frames in the movie. This is not available until the movie has loaded. Wait for ReadyState = 4. |
| FrameNum (get or set) | The currently displayed frame of the movie. Setting this will advance or rewind the movie. |
| Playing (get or set) | True if the movie is currently playing, false if it is paused. |
| Quality (get or set) | The current rendering quality (0=Low, 1=High, 2=AutoLow, 3=AutoHigh). This is the same as the QUALITY parameter. |
| ScaleMode (get or set) | Scale mode (0=ShowAll, 1= NoBorder, 2 = ExactFit). This is the same as the SCALE parameter. |
| AlignMode (get or set) | The align mode consists of bit flags. (Left=+1, Right=+2, Top=+4, Bottom=+8). This is the same as the SALIGN parameter. |
| BackgroundColor (get or set) | Override the background color of a movie. An integer of the form red*65536+green*256+blue use -1 for the default movie color. |
| Loop (get or set) | True if the animation loops, false to play once. Same as the MOVIE parameter. |
| Movie (get or set) | The URL source for the Flash Player movie file. Setting this will load a new movie into the control. Same as the MOVIE parameter. |
| MethodsPlay() | Start playing the animation. |
| Stop() | Stop playing the animation. |
| Back() | Go to the previous frame. |
| Forward() | Go to the next frame. |
| Rewind() | Go to the first frame. |
| SetZoomRect(int left, int top, int right, int bottom) | Zoom in on a rectangular area of the movie. Note that the units of the coordinates are in twips (1440 units per inch). To calculate a rectangle in Flash, set the ruler units to Points and multiply the coordinates by 20 to get TWIPS. |
| Zoom(int percent) | Zoom the view by a relative scale factor. Zoom(50) will double the size of the objects in the view. Zoom(200) will reduce the size of objects in the view by one half. |
| Pan(int x, int y, int mode) | Pan a zoomed in movie. The mode can be: 0 = pixels, 1 = % of window. |
| EventsOnProgress(int percent) | Generated as the Flash Player movie is downloading. |
| OnReadyStateChange(int state) | Generated when the ready state of the control changes. The possible states are 0=Loading, 1=Uninitialized, 2=Loaded, 3=Interactive, 4=Complete. |
| FSCommand(string command, string args) | This event is generated when a GetURL action is performed in the movie with a URL and the URL starts with "FSCommand:". The portion of the URL after the : is provided in command and the target is provided in args. This can be used to create a response to a frame or button action in the Shockwave Flash movie. |