• 0

[DELPHI7] Flash player controll...


Question

Hi,

I am making a little "virtual pet" game for my brother and sister. I have been using the tflashplayer controll to display the flash movies but the component is shockwave flash version 1 and therefore does not support transparent stuff, like the shine in my bald pets head.

Is there a free alternative that supports transparency?

Thanks for helping.

ps. im on holiday for a week to ill check this again when i get back (so i wont reply to anything that fast!)

theres what it looks like:

:cry:

Link to comment
https://www.neowin.net/forum/topic/482720-delphi7-flash-player-controll/
Share on other sites

1 answer to this question

Recommended Posts

  • 0
  ShokX said:

Hi,

I am making a little "virtual pet" game for my brother and sister. I have been using the tflashplayer controll to display the flash movies but the component is shockwave flash version 1 and therefore does not support transparent stuff, like the shine in my bald pets head.

Is there a free alternative that supports transparency?

Thanks for helping.

ps. im on holiday for a week to ill check this again when i get back (so i wont reply to anything that fast!)

theres what it looks like:

:cry:

May be this article can help you:

To make use of SWF files in your Delphi application you should have the swf plugin installed then follow these steps:

In the Delphi IDE

- click on "Component", "Import ActiveX Control"

- chose "Shockwave Flash" and click on "install".

Now you have a TShockwaveFlash component in your IDE on the ActiveX tabsheet. Place the TShockwaveFlash Component onto your form, resize it as needed but for now do not assign a movie to it.

You will need to register the ocx file if it is not installed on the target computer. So you should have a resource file with

- the swflash.ocx and your Flash ( *.swf) file.

- Copy swflash.ocx (from i.e. windows\system32\macromed\flash) and your custom swf file to your project path.

- Create a textfile with a code like this:

SHOCKWAVEFILE RCDATA yourfile.swf

SHOCKWAVEOCX RCDATA swflash.ocx

(Where yourfile.swf is your swf-file)

- Save this file as flash.rc

- Goto Commandline, change to your project dir and enter the line:

"Brcc32 -r flash.rc"

- Now you have your new resource as flash.res file

uses

ShockwaveFlashObjects_TLB; // will be used automatically

implementation

{$R *.DFM}

{$R flash.res} // your new created resource

{...}

procedure TForm1.FormCreate(Sender: TObject);

var

SystemDir: array[0..MAX_PATH] of Char;

SWFDir, AppDir: string;

Fres: TResourceStream;

Ffile: TFileStream;

begin

GetSystemDirectory(@SystemDir, MAX_PATH);

SWFDir := SystemDir + '\macromed\flash\';

GetDir(0, AppDir); // Get current directory

//check whether the sw-flash ocx is already installed

if FileExists(SWFDir + 'swflash.ocx') = False then

begin

//create directories if needed and extract file from resource.

{$i-} //compiler directive to suppress i/o error messages

MkDir(SystemDir + '\macromed');

MKDir(SystemDir + '\macromed\flash');

{$i+}

Fres := TResourceStream.Create(0, 'SHOCKWAVEOCX', RT_RCDATA);

Ffile := TFileStream.Create(SWFDir + 'swflash.ocx', fmCreate);

Ffile.CopyFrom(Fres, Fres.Size);

Fres.Free;

Ffile.Free;

//register ocx (simple but useful)

WinExec(PChar('regsvr32 /s ' + SWFDir + 'swflash.ocx'), SW_HIDE);

end;

// extract ShockwaveFile from resource to application directory

Fres := TResourceStream.Create(0, 'SHOCKWAVEFILE', RT_RCDATA);

Ffile := TFileStream.Create('flashmovie.swf', fmCreate);

Ffile.CopyFrom(Fres, Fres.Size);

Fres.Free;

Ffile.Free;

//Assign the extracted swf file to your TShockwaveFlash object

FlashMovie.Movie := AppDir + '\flashmovie.swf';

end;

(*

If you dont want to have the popup menu displayed on right click

you may chose menu property of TShockWave to false.

*)

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.