DELPHI中如何加入flash动画(100分)

  • 主题发起人 主题发起人 cavin
  • 开始时间 开始时间
C

cavin

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾,DELPHI中如何加入flash动画,100分哦!
 
如果你的机器安装了flash的话
可以添加她提供的相关的控件
要不下在一个flash的插件
 

如果你的计算机已装了Flash,那就非常简单。如果还没装,那么光在网上
下载flash 插件也可以,然后启动你的Delphi,再Component菜单项选Import
ActiveX Control...,接下来在Import ActiveX Control项就会有
Sockwave Flash (版本号)这项出现,选中它再按Install...按钮。
现在你的Component面板有ShockwaveFlash控件了吧,它的使用方法和其
他控件没有大的差别,做一个简单示例。
新建一个Project,在Form上放一个button和一个opendialog 控件,再放
上ShockwaveFlash控件。opendialog 用于打开Flash文件(*.swf),button的
onclick 事件如下:
begin
opendialog1.execute;
swf:=opendialog1.filename;
shockwaveflash1.Movie:=swf;
shockwaveflash1.play;
end;
编译通过,你就可以用按钮打开对话框,选择*.swf文件就可以了。
 
我将我作的例子供你参考
---- 在delphi中的Component|Import ActiveX Contrals...中选中 "Shockwave
Flash(Version 1.0)",并单击Install,会出现一个install窗口。
---- 如果要把它添加到一个已经存在的包中,在"into existing package"
对话框中的"Filename:"窗口中选择你想安装的路径,并单击"OK";
会弹出一个确认的对话框,它问你"Package dclusr50.bpl will be rebuilt.
Continue?",单击"Yes";在弹出的窗口中单击击"install",该插件就安装完毕。
----如果要把它添加到一个新建的包中,在"into new package"对话框中的 "File
name:"窗口中选择你想安装的路径,并新建一个包,假如命名为test,并单击"OK";它问
你"Package test.bpl will be built. Continue?",单击"Yes"。
在弹出的窗口中单击击"install",该插件就安装完毕。
---- 这时,你会在控件条的ActiveX下发现一个新的控件,名字为ShokewaveFlash,
单击它把它放在form中,在该form中放一个OpenDialog控件和一个panel,在该panel上放
四个button,他们的caption属性分别命名为"Openfile","Play","Stop","Close".
设置panel1,ShockwaveFlash的Align 属性分别为Alleft 和AlClient;
分别在这四个Button的OnClick事件中写下如下代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
ShockwaveFlash1.Movie:=
OpenDialog1.FileName;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShockwaveFlash1.Play;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ShockwaveFlash1.StopPlay;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
ShockwaveFlash1.FreeOnRelease;
close;
end;
----
你可以得到打开的flash图像的总帧数,在panel1上添加一个label,在form1的OnClick事
件中写下如下代码

procedure TForm1.FormCreate(Sender: TObject);
begin
label1.caption:=shockwaveflash.totalframes;
end;

你还可以控制该打开的flash图像从那一帧开始播放,
在panel1上添加一个button和一个Edit控件,

在该button的OnClick事件中添加如下代码。
if ShockwaveFlash1.playing then
ShockwaveFlash1.GotoFrame(SpinEdit1.Value);
ShockwaveFlash1.Play;
---- 在edit中填上你想跳到的帧,并单击该button,你即可实现该功能。
 
有没有能够自己解析flash的控件?
 
Macromedia 公布了 Flash SDK,用 VC++ 写的。为了能在 Delphi 和 ASP 中使用,
我把其中的 High level classes 封装成了COM Object。

可在练功场下载,http://164.76.13.241/lgc/getPkg.jsp?pid=93
也可以在本地下载:http://www.delphibbs.com/bukoo
 
http://www.delphibbs.com/bukoo/bukoo_doc_cn.htm
 
delphi本身就带有一个flash的avtivex控件。
 
楼上的都说了,我就不说了。
 
多人接受答案了。
 
后退
顶部