查看: 5811|回复: 0
打印 上一主题 下一主题

FLASH可以上下滚动的文本框

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-25 23:32:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
可以上下滚动的文本框
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观看效果。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表