主题:  自动滚动文本

gpandy

职务:普通成员
等级:1
金币:0.0
发贴:12
#12002/5/9 20:08:05
怎样才能实现文本自动滚动的效果呢



满眼金星

职务:普通成员
等级:2
金币:1.0
发贴:441
#22002/5/9 20:48:19
怎么最近全是问这个问题的????
MLER,你的程序怎么还没有贴出来???



暴雨

职务:普通成员
等级:1
金币:1.0
发贴:178
#32002/5/12 13:21:28
是呀,MLER快点。你要不做,我可做了。



gpandy

职务:普通成员
等级:1
金币:0.0
发贴:12
#42002/5/12 13:25:38
楼上的大侠们请你们就别在推来推去的了,谁做都是一样的,我们这还急着呢,拜拖!!!



暴雨

职务:普通成员
等级:1
金币:1.0
发贴:178
#52002/5/12 23:03:28
好吧,明天研究一下。大约明晚贴出来吧,前提是一切顺利。



donlee

职务:普通成员
等级:1
金币:1.0
发贴:271
#62002/5/13 7:42:14
写一个behavior,用于与文本对应的sprite:
property pStep
on beginsprite me
pStep=5 --控制速度。
end
on exitframe me
pTop=sprite(me.spriteNum).member.scrolltop
sprite(me.spriteNum).member.scrolltop=pTop+pStep
end
要反复滚动的话,再据此补充。

有的朋友希望同时可以由用户控制,只须设置文本framing属性为:scrolling.

编辑历史:[这消息被donlee编辑过(编辑时间2002-05-13 07:49:11)]


odb

职务:普通成员
等级:1
金币:0.0
发贴:61
#72002/5/13 15:46:16
可以说长细一点吗?为什么我搅不通呢?是把这个BEHAVOIR加到TEXT SAPRITE上吗?没出效果啊??………………请教?



暴雨

职务:普通成员
等级:1
金币:1.0
发贴:178
#82002/5/13 23:11:39
在你的帧脚本上,写上这么两句就可以了:

on exitFrame me
go the frame
scrollByLine member "myfield", 1
end
注意,你的文本应为域文本,域文本的framing属性一定要设置成limit to field size或scrolling。设置成后者可出现滚动条。



odb

职务:普通成员
等级:1
金币:0.0
发贴:61
#92002/5/15 11:11:20
请问?要它们一直循环该怎么做啊?我的 sprite(me.spriteNum).member.scrolltop是在《1228的时候做循环为什么我
property pStep
on beginsprite me
sprite(me.spriteNum).member.scrolltop=-300
end
on exitframe me
if sprite(me.spriteNum).member.scrolltop<1228 then pTop=sprite(me.spriteNum).member.scrolltop
sprite(me.spriteNum).member.scrolltop=pTop+2
else
sprite(me.spriteNum).member.scrolltop=-300
end if
end
这样写不行?
还有!暴雨大哥:你上面的那段BEHAVIOR是怎么回事不出效果啊!而且我都设置域文本的framing属性一定要设置成limit to field size或scrolling都是在scrollByLine member "myfield", 1这句出错?我已经把MEMBER改为我要的MEMBER啦!我想要的就是limit to field size啊!
请指教!

编辑历史:[这消息被odb编辑过(编辑时间2002-05-15 11:22:42)]
[这消息被odb编辑过(编辑时间2002-05-15 11:26:18)]
[这消息被odb编辑过(编辑时间2002-05-15 13:30:02)]


暴雨

职务:普通成员
等级:1
金币:1.0
发贴:178
#102002/5/15 22:54:16
你的要滚动的域文本在演员表(cast)窗口中要起名为myfield。



odb

职务:普通成员
等级:1
金币:0.0
发贴:61
#112002/5/16 16:04:15
我这样改不行吗?
on exitFrame me
go the frame
scrollByLine member "WORD_TXT", 1
end

???还是这样的一个改啊!



满眼金星

职务:普通成员
等级:2
金币:1.0
发贴:441
#122002/5/16 20:18:13
今天刚写了一个,还没整理好
明天贴上来
:)



odb

职务:普通成员
等级:1
金币:0.0
发贴:61
#132002/5/17 9:36:05
谢谢!期代你的上贴!



满眼金星

职务:普通成员
等级:2
金币:1.0
发贴:441
#142002/5/18 23:44:58
原来的脚本是为了文本与声音同步,这次将文本滚动部分单独贴了出来,可能有些函数没有用到--------
property Mymember,Mysprite,Act,Scrolls
on beginsprite me
Mysprite=me.spritenum
Mymember=sprite(Mysprite).member.name
Act=1
Scrolls=sprite(Mysprite).member.lineheight*sprite(Mysprite).member.linecount-sprite(Mysprite).member.pageheight
if sprite(Mysprite).member.pageheight member(Mymember).boxtype=#scroll
sprite(Mysprite).member.scrolltop=0
else
member(Mymember).boxtype=#fixed
end if
--starttime
end

on mouseenter me
nothing
--写入语句控制文本滚动 当act=0时,文本停止滚动
end

on exitframe me
if Act=1 and sprite(Mysprite).member.scrolltop sprite(Mysprite).member.scrolltop=sprite(Mysprite).member.scrolltop+1
else
nothing
--具体控制
end if
end




满眼金星

职务:普通成员
等级:2
金币:1.0
发贴:441
#152002/5/19 0:01:54
写这个脚本时我对应的是field,在text上面没有试过
还有由于使用sprite(Mysprite).member.lineheight*"总的行数"来确定文本长度,所以如果你在的文本中使用了不同的字号,那么需要对脚本做一些相应的调整
如果您发现脚本存在什么问题,请告诉我,谢谢了
:)