|
主题: 关于记录用户访问过得屏幕的问题。
|
 vrfly
职务:普通成员
等级:1
金币:0.0
发贴:21
|
#12001/2/13 13:57:37
我写了如下的函数用于记录用户访问过得屏幕,向全局变量列表中加入当前位置的frame和moviename。
on AddLocationInfo global gHistory_List--说明全局变量 set frame_movie=[#theframe:frame(),#themovie:chars(the moviename,1,length(the moviename)-4)] --取得当前位置信息 append(gHistory_list,frame_movie)--加入列表尾部 if count(gHistory_list)>3 then --确定列表大小 deleteAt(gHistory_List,1) end if end 在帧中用go to the frame停止。我该如何触发它,还是我不该用这种方法。 麻烦大侠们指教。
|
 amith
职务:普通成员
等级:1
金币:0.0
发贴:159
|
#22001/2/13 14:25:02
用 on idle 来调用。 on idle 可以放在 帧代码或者放在影片代码里面。 不过并不是所有的frame 我们可能都要记录吧, 只记录一些有marker标志的frame就可以了吧。这样就要修改 addlocationInfo 函数。
|
 donlee
职务:普通成员
等级:1
金币:1.0
发贴:271
|
#32001/2/13 14:46:27
用beginsprite吧。
|
 vrfly
职务:普通成员
等级:1
金币:0.0
发贴:21
|
#42001/2/13 19:35:37
十分感谢各位的帮助,现在已经解决了问题,请大侠指教。 原来的addlocationinfo()不变 on goback--制定一个按钮来触发 global gHistory_list if count(gHistory_list)=2 then go to frame 2 else set frameno=gHistory_list[count(gHistory_list)-1].theframe deleteat(gHistory_list,count(gHistory_list)-1) deleteat(gHistory_list,count(gHistory_list)) go to frame frameno-- of Movie gHistory_list[count(gHistory_list)].themovie end if end
on prepareMovie global gHistory_List set gHistory_list=[0] end prepareMovie
on beginsprite me--用出现一个精灵来触发addlocationinfo addlocationinfo end —————— 另外我也试过用on idle函数,但是放在帧中,即使把idlehandlerperiod设成600,也会触发。不知为何,麻烦amith,能否讲清楚一点。
|
 amith
职务:普通成员
等级:1
金币:0.0
发贴:159
|
#52001/2/14 9:27:58
--即使把idlehandlerperiod设成600,也会触发 。
idlehandlerperiod的帮助里面有: n -- up to 60/n per second.
会触发是好事呀。设成600,这样按照帮助好象是10秒调用一次。 为了避免把当前的帧一直追加,就要进行判断,如果已经把当前标志加进去就不能再加了。 用idle有个好处就是不用在要做标志的地方重复填写调用代码。不知道我说的有没有错。请vrfly 去实践一下。
|