`
hereson
  • 浏览: 1426013 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Flash制作带缓冲的滚动条

阅读更多

普通的滚动条在内容移动的时候看上去很生硬,怎么让它看上去舒服一点呢?加上缓冲!这样看上去会非常流畅舒服。 

  总共只有两个元件和一个动态文本框(为了能使用遮罩把字体都嵌入了):
  1,滑块,实例名move_bar;
  2,一个遮罩元件,用来控制显示内容区域的大小,实例名mask;
  3,动态文本实例名为txt。
  下面是代码,写在桢上就行了。

//首先定义滑块的移动范围 
barUp = 67; 
barDown = 204; 
barPos = 446;  
//然后是缓冲的程度,速度值越大缓冲越明显 
speed = 6; 
//然后这个是计算比例,也就是滑槽和内容的可移动长度之比 
prop = (txt._height-mask._height)/(barDown-barUp); 
//记录下内容的最初位置 
txtOrigin = txt._y; 
//在滑块上按下的时候开始拖动,down用来判断是否处在拖动中 
move_bar.onPress = function() { 
 move_bar.startDrag(0, barPos, barUp, barPos, barDown); 
 down = 1; 
}; 
//鼠标松开的时候停止拖动,down变为0 
move_bar.onMouseUp = function() { 
 move_bar.stopDrag(); 
 down = 0; 
}; 
//这个是关键,enterFrame加上if(down),也就是在拖动的时候不停地执行if里面的程序 
this.onEnterFrame = function() { 
 if (down) { 
  //将此时滑块的y值减去滑块上限,计算出滑块向下移动的距离,乘以之前算出的比例,就得到了文本内容应该向上移动的距离 
  txtMove = (move_bar._y-barUp)*prop; 
//原来的位置减去距离,得到文本内容现在应该在的位置,也就是目标位置 
  txt.m_y = txtOrigin-txtMove; 
 } 
//文本内容y值的每一次变化量=(目标位置-当前位置)除以缓冲速度。注意这一句不能放在if循环里面,否则鼠标一松开缓冲就停止了 
 txt._y += (txt.m_y-txt._y)/speed; 
}; 

  OK, 测试一下,别忘记把桢数设高一点(我用的是48),这样看上去效果流畅。代码考虑了易用性,使用在其他地方的时候,只需要改一下滑块的范围,设好各个元件的实例名就可以了。

分享到:
评论

相关推荐

    JQuery&CSS;&CSS;+DIV实例大全.rar

    41.jquery拖动滚动条控制图片滚动及图片放大特效的示例 42.jquery旋转式图片切换并带图片放大功能 43.jQuery漂亮网页右上角双层撕角广告代码 44.jquery漂亮网页布局综合定时器、切换间隔、滚动时间、滚动图片...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例027 小明去学校和医院分别要走哪条路 34 实例028 利用条件语句判断用户登录身份 35 实例029 判断指定月份属于哪个季节 36 实例030 使用switch语句更改窗体颜色 37 实例031 循环向控制台中输入内容 38 实例032 ...

    ActionScript开发技术大全

    第1篇ActionScript3.0语言基础 ...30.3.3创建缓冲与播放控制条 655 30.4创建播放器工具类 656 30.4.1创建数据库工具类 656 30.4.2创建字符串?ぞ呃?658 30.5创建数据模块 659 30.5.1创建MediaFile类 659...

    delphi 开发经验技巧宝典源码

    0015 以原始风格显示控件的滚动条 11 0016 使用快捷键打开对象观察器中的“...”按钮 11 1.5 其他相关应用技巧 11 0017 安装合适的Delphi版本 11 0018 熟练掌握Delphi中的菜单项 12 0019 构成Delphi项目...

    delphi 开发经验技巧宝典源码06

    0015 以原始风格显示控件的滚动条 11 0016 使用快捷键打开对象观察器中的“...”按钮 11 1.5 其他相关应用技巧 11 0017 安装合适的Delphi版本 11 0018 熟练掌握Delphi中的菜单项 12 0019 构成Delphi项目...

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 <br>1.1 Visual Studio开发环境安装与配置 2 <br>0001 安装Visual Studio 2005开发环境须知 2 <br>0002 配置合适的Visual Studio 2005...

    chrome.exe

    Chrome具有GPU硬件加速:当激活GPU硬件加速时,使用“Google Chrome”浏览那些含有大量图片之网站时可以更快渲染完成并使页面滚动时不会出现图像破裂的问题。 2013年4月份,Google宣布称将为Chrome浏览器开发新的...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    asp.net知识库

    如何保证页面刷新后的滚动条位置 清除网页历史记录,屏蔽后退按钮! 如何传值在2个页面之间 :要求不刷新父页面,并且不能用Querystring传值 Asp.net地址转义(分析)加强版 Web的桌面提醒(Popup) Using the Popup ...

Global site tag (gtag.js) - Google Analytics