在flash里做动态的滚动文字
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在flash里做动态的滚动文字
Flash]可以上下滚动的文本框
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观看效果。