在Director中实现文本滚动

原创 2001年08月27日 23:50:00
最近有不少的朋友问我有关在DR中如何实现文本滚动效果的问题,我只给了一些方法的提示,我本身认为这个问题是比较的简单的,但是随着问的多了,也就意识到这个问题涉及的问题还真不少(自己是小瞧了这个问题了),后来就想找个典型的范例来和朋友们共同讨论这个问题,在网上无意的浏览时候发现了下面的这个行为,使我对这个问题的认识更深了一步(里面还是有不少的技巧的),我从下面的程序里面也得到了一种新的行为编写思维方式,同时在其他方面也得到了应用。下面就是这个程序,我做了一些简单的注释:

property pMem
property pImage
property pScroll
property pWidth, pHeight
property pVisibleHeight
property pBackgroundColor

###定义这个行为的属性设置###

on getPropertyDescriptionList me

list = [:]
addProp list, #pVisibleHeight, [#comment: "Visible Height", #format: #integer, #default: 100]
return list

end

on beginSprite me

n 获得Text Member 的大小
pWidth = sprite (me.spriteNum).member.width
pHeight = sprite (me.spriteNum).member.height

n 获得文本图象的大小
pImage = duplicate (sprite (me.spriteNum).member.image)
pBackgroundColor = sprite (me.spriteNum).member.bgColor

n 创建一个新的位图以供我们使用
pMem = new (#bitmap)
pMem.image = image (pWidth,pHeight,32)
pMem.regPoint = point (0,0)
sprite (me.spriteNum).member = pMem

n 实现图象从低部向上滚动
pScroll = -pVisibleHeight
setImage (me)

end

on setImage me

n 利用Fill命令使图象充满背景色
pMem.image.fill (rect (0, 0, pWidth, pVisibleHeight), pBackgroundColor)

n 放置图象到相应的位置上
pMem.image.copyPixels (pImage, rect (0 ,0, pWidth, pVisibleHeight), rect (0, pScroll, pWidth, pVisibleHeight + pScroll))

end

on exitFrame me

n 设置滚动的速度为一个象素
pScroll = pScroll + 1

n 如果滚动文本结束了,在这里设计循环
if pScroll > pHeight then pScroll = -pVisibleHeight

setImage(me)
end

on endSprite me
erase pMem
end


这个行为比我以前常用的方法是方便多了,先面我介绍一下这个行为的基本编写思路,如果对Lingo很熟悉的朋友通过上面的程序就能够看的出来了,我再说这些就现的罗嗦了。但我还是想说一下我的体会(真是不可救药啊!)
这个行为的最大的特点就是节约了空间,只要一个SCORE就可以了。还有一个巧妙的用法就是用了FILL命令,这样在移动文本图象的时候擦除旧的图象

JS实现文本内容上下滚动效果

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/1999/xhtml">marqueevar ma...
  • comenglish
  • comenglish
  • 2007年03月23日 14:19
  • 2895

Android 文本内容滚动显示

1. 对于需要文本显示的内容过多的时候,需要滚动显示
  • genggeng001
  • genggeng001
  • 2014年09月28日 22:44
  • 1561

Android让文本自动滚动实现

在实际开发中,TextView这个控件用到的情况是非常高的,因为也会诞生各种各样的需求,比如今天要探讨的文本自动滚动。正常情况下,让文本滚动则必须要让TextView获取焦点,但是,更多的情况是我们不...
  • longzekai
  • longzekai
  • 2015年06月16日 11:18
  • 1217

滚动显示文本的Java程序

/** * 文件名:ScrollFrame.java  * 环境: GNU/Linux Ubuntu 7.04 + Eclipse 3.2 + JDK 1.6 * 功能:滚动文本显示面板Demo * ...
  • DL88250
  • DL88250
  • 2007年05月04日 11:47
  • 2815

MFC滚动字幕实现

MFC滚动字幕实现 1创建对话框工程          这一步很简单,可以参考我之前的博客。这里可以先放出我程序运行的效果图。如果不是你所需要的可以直接关闭博客了。 2添加控件          在...
  • u012377333
  • u012377333
  • 2016年06月04日 11:48
  • 2295

JavaScript实现竖直文本滚动

var stopscroll = false; var scrollContHeight = 95; //滚动区域的高度 var scrollContWidth = 230; //滚动区域的宽...
  • u011043843
  • u011043843
  • 2014年06月12日 15:22
  • 1263

Unity,UI实现滚动内容

昨天小伙伴有个需求,需要做一个UI的滚动内容。要在Ipad上实现,最好带惯性效果。于是我二话不说拿起键盘就是敲代码。用Touch来控制,得到每次滑动的deltaPosition。然后移动Panel的位...
  • m0_37679113
  • m0_37679113
  • 2017年08月03日 10:29
  • 508

Director中读写外部文本的技术

 记录、读取外部文本在多媒体创作中经常接触,通常用于记录用户信息、动态更改程序使用文本资料等!这里我们将简要总结一下director中对于外部文本的利用。读取外部文本准备工作:建立两个纯文本文件"C:...
  • threem
  • threem
  • 2004年06月22日 21:15
  • 1791

Unity ScrollRect 实现垂直滚动文字

看了一些网上的其他文章,看的比较晕,自己摸索着做了一遍,把几个要点列出来,方便遇到相同问题的人。 1-列出控件,按照下图的方式组织所有的控件,注意不要从GameObject菜单创建ScrollView...
  • WangHaoDiablo
  • WangHaoDiablo
  • 2017年05月02日 08:39
  • 1918

原生js实现无缝滚动

水平方向无缝滚动滚动支持图片,文字 HTML代码 测试文字1 测试文字2 ...
  • qq_26499247
  • qq_26499247
  • 2017年01月10日 15:55
  • 2103
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Director中实现文本滚动
举报原因:
原因补充:

(最多只允许输入30个字)