FLASH可以上下滚动的文本框
点击次数:52 次 发布日期:2008-11-21 16:03:25 作者:源代码网
|
源代码网推荐
可以上下滚动的文本框 1、创建场景文件。 2、输入或者粘贴一段文字。调整好大小。 3、将文本框转换为影片剪辑,在影片剪辑的属性面板中,为实例取名txtBox。 4、在靠近文本框右上角处画一个三角形。 5、将三角形转换为按钮。双击进入按钮的编辑界面。 6、在反应区插入帧。 7、返回场景1。选择三角形按钮,打开动作面板。 8、输入如下代码: on (release) { if (txtBox._y>-340) { //-340的意思是顶部y值减去高度Height的结果, //保证文本框向上移动到刚好看不见。 txtBox._y = txtBox._y-10; } else{ txtBox._y=txtBox._y; } } 9、选择三角形按钮,复制,粘贴,选择新按钮,执行 修改-->转换-->垂直翻转 命令,使之变成向下按钮。将向下按钮移动到文本框右下角。 10、选择向下按钮,打开动作面板,修改代码如下: on (release) { if (txtBox._y<385) { txtBox._y = txtBox._y+10; } else{ txtBox._y=txtBox._y; } } 11、新建图层2,在图层2第一帧画一个矩形,刚好掩盖住文本框和两个按钮。 12、在图层2上点右键,遮蔽,将图层2创建为蒙板层。 13、Ctrl+Enter,并点击两个按钮查看效果。
源代码网整理以下[Flash]带滚动条的文本框(三) 1、新建场景文件,创建三个图层。 2、在最下面的图层1粘贴比较长的一段文字,然后在属性面板将其改为动态文字,多行,实例取名为txt。 3、在图层2画一个矩形,遮住一段文字。将举行转换为影片剪辑,在属性面板中为实例取名为mask。 4、在图层3的文字右侧画一条和mask等高的线段,转换为图形元件。在图层3上点右键,遮蔽,将图层3创建为蒙板层。
源代码网整理以下5、在图层3的文字右侧画一个小矩形,转换为影片剪辑,在属性面板中为实例命名为scroll_bar,将scroll_bar放在 线段顶部。 6、在图层3选择第一帧,打开动作面板,输入如下代码: //首先定义滑块的移动范围 barUp = 67; barDown = 204; barPos = 446; //然后是缓冲的程度,速度值越大缓冲越明显 speed = 6; //然后这个是计算比例,也就是滑槽和内容的可移动长度之比 rate = (txt._height-mask._height)/(barDown-barUp); //记录下内容的最初位置 txtOrigin = txt._y; //在滑块上按下的时候开始拖动,down用来判断是否处在拖动中 scroll_bar.onPress = function() { scroll_bar.startDrag(0, barPos, barUp, barPos, barDown); down = 1; }; //鼠标松开的时候停止拖动,down变为0 scroll_bar.onMouseUp = function() { scroll_bar.stopDrag(); down = 0; }; //这个是关键,enterFrame加上if(down),也就是在拖动的时候不停地执行if里面的程序 this.onEnterFrame = function() { if (down) { //将此时滑块的y值减去滑块上限,计算出滑块向下移动的距离, //乘以之前算出的比例,就得到了文本内容应该向上移动的距离 txtMove = (scroll_bar._y-barUp)*rate; //原来的位置减去距离,得到文本内容现在应该在的位置,也就是目标位置 txt.m_y = txtOrigin-txtMove; } //文本内容y值的每一次变化量=(目标位置-当前位置)除以缓冲速度。 //注意这一句不能放在if循环里面,否则鼠标一松开缓冲就停止了 txt._y += (txt.m_y-txt._y)/speed; }; 7、Ctrl+Enter测试。
源代码网整理以下[Flash]带滚动条的文本框 1、打开昨天的作品《可以上下滚动的文本框》。 2、在图层1绘制一个小矩形,转换为电影剪辑元件,在属性面板上为实例命名为myScrollBar。 3、选择myScrollBar元件,打开动作面板,输入如下代码: on (press) { startDrag ("myScrollBar", true, 523, 85, 523, 325); down=true; //down 变量是用来控制文本框滚动的, //拖动是允许滚动。 } on (release) { stopDrag(); down=false; //停止拖动后也就停止滚动。 } 4、在时间轴最顶上添加一个图层,选择第一帧,打开动作面板,输入如下代码: function onEnterFrame() { if (down) { v_Shift = (getProperty("myScrollBar",_y) - 200)*3; setProperty("text_movie", _y, v_Shift); } //如果这里不用if判断,文本框就会不停的滚动下去。 } 5、Ctrl+Enter观看效果。
源代码网供稿. |