[Flash] AS1.0制作滚动条

作者:Super-Tomato
原文:http://bbs.flasher.cn/dispbbs.asp?BoardID=73&ID=23529&replyID=&skin=1

这是针对之前一篇使用AS2.0而再次写的,对于马来西亚的AS水平来说可能使用class还不很普遍,所以希望这个“简单”的教程能够有人去学习

步骤1:
打开一个新的文件,按ctrl+F8建立一个新的movie clip元件。

步骤2:
然后在这个movie clip建立一个动态文本,实例名为myText。之后在画个长条图形,然后按F8转换成movieclip,实例名为scrollBar。

步骤3:
在第一个frame输入以下代码

scrollBar.initial = function() { //定义滚动条
var p = myText._height/myText.textHeight; //计算文字和文本之间的差
if(p > 1) p = 1; //如果之间的差大于1 就为1
this._height = p * myText._height; //从上面计算出来的差算出滚动条的高度
this.min = myText._y; //取得滚动条最高的拖动范围
this.max = this.min+(myText._height-this._height); //取得滚动条最低的拖动范围
inc = int(Math.abs(this.max-this.min)/myText.maxscroll); //取得文本和滚动条可滚动的差距
};
scrollBar.onPress = function() { //当滚动条被点下的时候
this.onEnterFrame = function() { //循环设定滚动条可拖动的范围和文本显示行数
this.startDrag(false, this._x, this.min, this._x, this.max); //开始拖动
myText.scroll = int(scrollBar._y/inc); //计算文本滚动的位置
};
};
scrollBar.onRelease = scrollBar.onReleaseOutside = function() { //当滚动条被放开的时候
this.stopDrag(); //停止拖动
delete this.onEnterFrame; //删除之前点下的循环
};
myText.mouseWheelEnabled = false; //设定文本不受滑鼠滚轮的影响
this.onEnterFrame = function() { //不断的定义滚动条
scrollBar.initial();
}

步骤4:
回到场景,把刚才的movieclip从library拖到场景,然后设定实例名textArea.最后在场景的第一个frame输入一些增加文本文字的代码

function a() {
textArea.myText.htmlText+=(10 - (i++))+"\n"; //增加文本内容的文字
if(i == 10) clearInterval(b); //增加10行之后停止
}
var i = 0;
b = setInterval(this, “a”, 1000); //每1000毫秒运行a函数

步骤5:
完成,进行测试吧

谢谢分享哦 Y^^