问题: 请问如何得知FLASH动画播放结束? ( 积分: 10 )
分类: 控件 - 使用
来自: delphi_xs, 时间: 2003-06-23 10:47:00, ID: 1973413
我用的是shockwaveflash控件,请问各位,如何得知动画播放结束?我不希望用时钟触发,
耗资源。先多谢了。
来自: lichdr, 时间: 2003-06-23 16:33:00, ID: 1974560
這個控件沒有用過但查了一下發現有OnFscommand這個事件
如果在flash中寫過“退出”的Fscommand的話,應該可以探到動畫的結束
来自: delphi_xs, 时间: 2003-06-23 17:23:00, ID: 1974777
SORRY,我没说清楚,我是指在flash没有发command的情况。
因为有一些动画我没有原文件,不能加command。
来自: laoli, 时间: 2003-06-23 17:33:00, ID: 1974809
可以判断当前帧数和总帧数是否相等或相近
来自: ICEsting, 时间: 2003-06-23 18:04:00, ID: 1974923
我也在关注,我以前也是用的 laoli的方法,离最后一帧还有2帧的时候读下一个,但是判断不是很准确.
寻求方法中.
来自: delphi_xs, 时间: 2003-06-24 9:44:00, ID: 1976050
是啊,如果用时钟,用
if swf.CurrentFrame=swf.TotalFrames then
……来做,判断不准确,假设flash动画
只有一桢的话,有时就判断不出来。
来自: laoli, 时间: 2003-06-24 23:07:00, ID: 1978483
可以用时钟判断,是否当前帧数和总帧数是否相等或相近,并且停止了(停在某一帧)
来自: sars1, 时间: 2003-06-25 9:21:00, ID: 1978938
请问什么是COMMAND?FLASH 什么情况下发COMMAND信息?
来自: ICEsting, 时间: 2003-06-25 10:49:00, ID: 1979259
看来要精确判断是否播放结束是不可能的事了[
]
来自: delphi_xs, 时间: 2003-06-27 11:07:00, ID: 1984945
to sars1:
flash的Action里面有一个onfscommand事件,可以发送命令和参数(一般你发个命令就够
了),delphi中的shockwaveflash控件也有一个onfscommand事件,可以接收flash传过来
的命令和参数.
来自: delphi_xs, 时间: 2003-06-27 11:09:00, ID: 1984956
to ICEsting
同感,我还没解决好。
来自: ICEsting, 时间: 2003-06-27 11:27:00, ID: 1985019
想来想去,可能laoli的方法好一些.[
]
"可以用时钟判断,是否当前帧数和总帧数是否相等或相近,并且停止了(停在某一帧)"
来自: sars1, 时间: 2003-07-01 17:50:00, ID: 1994668
TO delphi_xs你好,最好给个例子好吗?我实在不会用啊!先谢谢了!!!!
来自: sars1, 时间: 2003-07-01 17:54:00, ID: 1994679
还有我为什么得不到FLASH的总真数呢:
LABLE1。CAPTION=shockwaveflash.TotalFrames ;
来自: delphi_xs, 时间: 2003-07-02 9:21:00, ID: 1995650
TO sars1:
flash的Action里面有一个onfscommand事件,可以发送命令和参数(一般你发个命令就够
了),现在假设你在FLASH中的一个按钮的ONMOUSEdo
WN事件中加了onfscommand的命令,为
“DOSOMETHING”,那么你在DELPHI中用SHOCKWAVEFLASH控件调用该FLASH文件(*.SWF)时
候,就可以接收它按钮发送的COMMAND,来做你想要做的事情。
比如:你想要在DELPHI中点击该FLASH上的按钮,执行 showmessage('hello');只需在
shockwaveflash控件的onfscommand上做如下操作就行了。
procedure TForm1.swf_1FSCommand(Sender: TObject;
const command,
args: WideString);
begin
if command='dosomething' then
showmessage('hello');
end;
//shockwaveflash控件名为swf_1
来自: yanyandt2, 时间: 2003-07-02 9:24:00, ID: 1995665
没有办法
因为flash如果最后一桢用的是电影夹,你根本无法判断
来自: delphi_xs, 时间: 2003-07-02 9:29:00, ID: 1995696
唉,难道就没有办法了么?我要在每一个动画播放完毕的时候调用下一个。关键是有的用
了电影夹,郁闷。
来自: delphi_xs, 时间: 2003-09-29 10:37:00, ID: 2207377
多人接受答案了。
问题讨论没有结束 ...