文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院媒体动画DirectorDirector技巧--关于text scroll 的问题
精品推荐
特别推荐
·Director中几种Scirpt
·【Director教程】属性列表应用一则
·用Director制作不规则窗口
·Director 动画技术
·Director 3D 基础(之五)
·DIRECTOR去背技法步步高
·director应用技巧
热点TOP10
·Director技巧--哪些xtras需要在最后的project里捆绑
·使用visible时要不要宣告puppetSprite
·Director 中如何控制读取数据库
·director 应用技巧
·Director 如何检测演员的载入进度
·Director 对象列表的调用与删除
·Director 动态事件传递(1)
·Director 编写“拼图游戏”(3)
·Director MX 2004中MIAW使用心得
·Director Lingo应用之repeat with
·Director FAQ
·Lingo应用之repeat while
·常见的Director MX 2004全屏问题
·如何在文本框中限制输入
·五子棋游戏的制作(2)
·用Lingo解决组合问题
·在Director MX 2004使用Flash里面的函数
·发布Director MX 2004
·Speech Xtra 应用(Director MX 新增 Xtra)
·谈谈Director作品的发布模式

Director技巧--关于text scroll 的问题

日期:2006年10月15日 作者: 查看:[大字体 中字体 小字体]


有一个朋友在论坛上问如何让一个text sprite 自动滚屏? 还有一个要求是,当滚动到文本的最后一行,可以再回到第一行重新继续滚动, 另外还要求如果鼠标点在文本上就停止滚动,再点击又继续滚动。

回答:
这是一个很有趣的问题, lingo 的语句并不难, 需要了解的是一些背景知识和解决问题的过程, 事实上, lingo programming的过程就是解决问题的过程, 对于解决问题来说, 第一步莫过于定义问题是什么?从上面的问题里我们已经了解得比较清楚了, 下面是问题清单:
1.Text sprite 自动滚屏;
2.当滚动到最后一行时回到第一行重新开始滚动;
3.鼠标点击toggle 滚屏的on 和off.

我们知道, text member可以有几种不同的framing 设定,对于滚屏来说,最合适的设定是fixed.见下图:

这样可以将比较长的文件限制在有限的舞台空间来显示,同时又不出现滚动条。 不过这只完成了第一步, 我们需要lingo 把文本文件滚动起来。 最合适的的语句是用scrollTop这个text member 的属性。 它的定义是从member 的顶端到第一行可见文字的距离, 当movie 播放时,我们都会使用on exitFrame 句柄来制造循环。 好, 如果我们可以让这个text sprite 在每次离开frame时,它的member.scrollTop值就增加一点,不就实现了滚动了吗。

member.scrollTop=member.scrollTop + 4

这就是核心语句。 那么如何得知文本最后一行的位置以及建立与scrollTop的关系呢? 请看下图:

我们可以很容易的得出这样的结论, 当最后一行文本显示在舞台上时,那时候text member 的scrollTop 值等于member的高度减去sprite 的高度。也就是 :
member.height – sprite.height = the scrollTop when last line appear on the stage.

鼠标的控制比较容易,设定一个flag就可以了。

问题分析完了,开始写script, 最好是写成behavior的形式, 符合OOP的概念, 又可以使用在不同的text sprite 上。 你可以持续丰富你自己的behavior library.

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

下图是当用该行为对text sprite赋值时的screen shot:


你也可以写behavior了吧。
[1] [2] 下一页 




上一篇:替换Director和Flash打包文件的图标

下一篇:Director技巧--哪些xtras需要在最后的project里捆绑

Director技巧--关于text scroll 的问题 相关文章:
·电脑高手的140个电脑技巧
·小技巧 教你吓走要动你电脑的人
·楼梯的上做爱技巧 (图)
·输入法技巧放送:极点五笔技巧两则
·IE7.0浏览器有用的9个使用技巧
·史上最全的QQ技巧整合大放送
·某高手总结的电脑技巧
·WindowsXP超级技巧
·新出QQ技巧十六招
·每周电脑应用技巧荟萃
Director技巧--关于text scroll 的问题 相关软件:
·网络常见问题与故障1000例
·有关毛泽东的一些问题解答(不完整版)
·Photshop照片润饰技巧
·中文版Excel 2003实例与技巧
·摄影技巧与欣赏
·电脑技巧精彩文章一百篇
·与客户有效沟通的N个技巧
·招聘面试技巧 视频教程
·Delphi7编程技巧与实例精解
·中文版 AutoCAD2004 应用实例与技巧

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot