主题:  请帮忙检测SWF文档是否已经播放完

Jawry

职务:普通成员
等级:1
金币:0.0
发贴:106
#12001/10/16 20:39:09
大家好,今天我已经是第三次提出同一个问题,可能是我的问题没有说清楚,所以虽然有两位高手给我了回答,但是问题依然没有解决:=((下面我就把问题重新说得更为清楚一点:
  on PrepareFrame
if  一个条件成立 then
     Sprite(n).Member = Member(MemberName)
.....
.....
.....
Sprite(n).Member = Member(OtherMemberName)
end if
end
  问题的重点就是在我省略的地方,如何判断此处装入的SWF文档已经播完了呢,因为下面我又会在同一个通道中装入其它的Member??????



D计划-混沌

职务:管理员
等级:6
金币:15.2
发贴:3528
#22001/10/16 21:29:59
PrepareFrame是事件
if是条件判断
都不是循环语句
你的循环语句在那里



D计划-混沌

职务:管理员
等级:6
金币:15.2
发贴:3528
#32001/10/16 22:21:17
找不到官方资料了,随便说一下吧
lingo的执行是靠消息、事件和处理程序组成的
消息就是比如,鼠标件按下mousedown,进入帧prepareframe等等,
而事件就是接收消息 比如 on mousedown,on prepareframe等等
处理程序就是你写的判断,循环,和变量定义,控制语句。
每个事件因为消息不同功能也是不一样的,像prepareframe是在一帧开始,但舞台还没显示
既然还没显示那么就只能做一些数字方面的设定,或判断,当然也可循环判断,
他的范围只限于状态而不能执行显示或动作
有一些术语可能不对,但应该能了解意思


在prepareframe判断,在exitfame类的事件才能运行显示
死循环应该和事件无关

编辑历史:[这消息被54zq编辑过(编辑时间2001-10-16 22:25:20)]


threem

职务:普通成员
等级:2
金币:1.0
发贴:338
#42001/10/16 23:27:13
on exitFrame me
swfseek swfNUM,swflist
end
---------------------------------------------------------------------------------------------------------------------------------------------
global tolFRA,swfNUM ,swflist --------------------表示当前swf总桢、当前swf的编号,以及等待播放的swf列表!

on preparemoive
set swfNUM=1
set swflist=["**.swf","****.swf, . . . . . .,"********.swf"]
end

on swfseek swfNUM,swflist
if swfNUM<>1 then
set curFRA=the frame of sprite 1
else
importFileInto member 1, swflist[swfNUM]
set tolFRA=the frameCount of member 1
end if

if curFRA=tolFRA then
swfNum=swfNum+1
erase member 1
importFileInto member 1, swflist[swfNUM]
set tolFRA=the frameCount of member 1
end if

---------------对于tolfra这个属性变量有些swf在播放时达不到这个直,例如swf中有交互的话,swf将停留在某一处!


上代码假定你的swf演员标号为1,并放在sprite 1中。
利用它我已将15个swf片段连接为一部电影(特务迷城.swf)

编辑历史:[这消息被threem编辑过(编辑时间2001-10-16 23:32:40)]