|
主题: 关于文本滚动的问题
|
 skys
职务:普通成员
等级:1
金币:0.0
发贴:94
注册:2000/12/21 16:20:28
|
#12001/1/11 17:38:06
引用:
Director技巧--关于text scroll 的问题 作者:Flyingbird 摘自经典论坛 有一个朋友在论坛上问如何让一个text sprite 自动滚屏? 还有一个要求是,当滚动到文本的最后一行,可以再回到第一行重新继续滚动, 另外还要求如果鼠标点在文本上就停止滚动,再点击又继续滚动。
property pText --文本member property pSpeed --滚动速率 property pFlag --判断条件 property pLastLine --scrollTop的极限值 property pCurrentTop --当前的scrollTop值
--初始化 on beginSprite me sprite(me.spriteNum).member.scrolltop=0 pText=sprite(me.spriteNum).member pLastLine=pText.height - sprite(me.spriteNum).height end
--循环中监测符合滚动的条件并发出滚动的指令 on exitframe me if pFlag=1 then pCurrentTop=pText.scrollTop if pCurrentTop < pLastLine then scrollText me else pCurrentTop=0 scrollText me end if end if end
--核心语句使text滚动 on scrollText me pText.scrolltop=pCurrentTop + pSpeed updatestage end
--toggle flag on and off on mouseDown me pFlag=not pFlag end
on getPropertyDescriptionList me return [#pSpeed:[#comment:"滚动速度: ",#format:#integer,#default:"2"],\ #pFlag:[#comment:"自动开始滚动?",#format:#boolean,#default:"1"]] end
这段语句实现循环滚动是从文本框的顶部开始,给人有视觉上很突然的感觉。我现在想从文本框的底部开始循环,但是修改程序后发现变量“PTEXT.SCROLLTOP”不能为负值。只好用苯办法在文本行前加一段空白段来实现。请问那位知道正确的修改办法?
|
 Call Me Simon
职务:普通成员
等级:2
金币:2.0
发贴:646
注册:2000/9/19 13:56:51
|
#22001/1/11 19:05:15
skys在上个贴子中说 引用: ...只好用笨办法在文本行前加一段空白段来实现。请问那位知道正确的修改办法?
你的方法就是正确而又聪明的做法。 
|
 cizi3000
职务:普通成员
等级:1
金币:1.0
发贴:166
注册:2001/1/8 23:17:38
|
#32001/1/15 23:04:57
好象scrolltop可以为负值!
|
 coo
职务:普通成员
等级:1
金币:0.0
发贴:163
注册:2001/4/6 16:48:24
|
#42001/5/21 13:51:13
为什么文本没有移动到末尾就停止了,通过跟踪运行,发现好象 pText.scrolltop=pCurrentTop + pSpeed 失效了,很奇怪,那位指点? 此时 pCurrentTop < pLastLine 仍然成立
|