返回   webstudio Forums > FLASH > Flash Tutorials教程讨论及源文件

发表新主题 回复
置顶的主题  
主题工具 显示模式
旧 2006-11-11, 02:00 AM   #1
egoldy
沙漠孤鹰
级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时
 
egoldy 的头像
 
注册日期: 04-07
住址: 北京
帖子: 2835
精华:4
现金:2411金币
资产:1668861金币
egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀
发送 MSN 消息给 egoldy 发送 QQ 消息给 egoldy
默认 超酷滚动公式自定义滚动条

webstudio新书 <<Flash网站建设技术精粹>>示范内容

超酷滚动公式自定义滚动条
教程地址:
http://www.webstudio.com.cn/tutorial/show.php?id=58

签于问到关于载入外部文本自适应大小的问题的人越来越多,在网站上的本教程是基于影片剪辑的,而在书中有关于使用外部文本载入的情况,只是少了一个自适应.下面示范的是动态载入外部文件,并且自适应文本的大小

代码:
System.useCodepage = true;
stop();
//载入外部文本代码段
var my_lv = new LoadVars();
my_lv.onLoad = function(success) {
 if (success) {
  contentMain.about_txt.autoSize = true;
  contentMain.about_txt.htmlText = my_lv.mytext;
  trace(contentMain.about_txt._height);
  scrolling(true);
 } else {
  trace("error load text files");
 }
};
my_lv.load("xmldata/aboutus.txt");
contentMain.setMask(maskedView);
function scrolling(easing) {
 //滚动速度
 var moveSpeed = 1;
 var easingSpeed = 10;
 var scrollHeight = scrollbg._height;
 //可滚动的区域
 var scrollable = contentMain.about_txt._height-maskedView._height;
 var top_scroll = contentMain._y;
 //滑块可拖动的区域
 var left = scrollbg._x-2;
 var top = scrollbg._y;
 var right = scrollbg._x-2;
 var bottom = scrollbg._y+scrollbg._height-dragger._height;
 //在开始前检测我们的滚动是否可滚动,如果内容不足滚动,隐藏dragger等,并返回。
 if (scrollable<0) {
  dragger._visible = false;
  btnup._alpha = 50;
  btndown._alpha = 50;
  scrollbg._alpha = 50;
  btnup.enabled = false;
  btndown.enabled = false;
  return;
 }
 //更新滚动内容的位置。公式的应用 
 function updateContentPos() {
  var percent_scrolled = (dragger._y-btnup._y-btnup._height)/(scrollHeight-dragger._height);
  contentMain.newY = Math.round(top_scroll-(scrollable*percent_scrolled));
 }
 contentMain.onEnterFrame = function() {
  if (!easing || easing == undefined) {
   this._y = this.newY;
  } else {
   this._y += (this.newY-this._y)/easingSpeed;
  }
 };
 //拖动滑块
 dragger.onPress = function() {
  startDrag(this, false, left, top, right, bottom);
  this.onMouseMove = function() {
   updateContentPos();
  };
 };
 dragger.onRelease = dragger.onReleaseOutside=function() {
  stopDrag();
  delete this.onEnterFrame;
 };
 btnup.onPress = function() {
  this.onEnterFrame = function() {
   //技巧
   dragger._y = Math.max(top, dragger._y-moveSpeed);
   updateContentPos();
  };
 };
 btnup.onRelease = function() {
  delete this.onEnterFrame;
 };
 btndown.onPress = function() {
  this.onEnterFrame = function() {
   dragger._y = Math.min(bottom, dragger._y+moveSpeed);
   updateContentPos();
  };
 };
 btndown.onRelease = function() {
  delete this.onEnterFrame;
 };
 updateContentPos();
}
//调用函数
//scrolling(true);
此代码是在书中的动态载入文本滚动的aboutus文件修改的.如果你没有买过书,从当前网站的教程上,原来contentMain中是一个影片剪辑,现在只是将contentMain中放置了一个名为aboutus_txt的文本域,然后通过创建loadVars对象来载入外部的文本.在代码中注意到红色的修正代码.要想要滚动条自适应载入的内容,首先需要contentMain中的aboutus_txt是可以自动大小变小的.即可autoSize=true.
然后将滚动公式中的可滚动区域换成:
var scrollable = contentMain.about_txt._height-maskedView._height;
因为在动态载入文本时无法得到contentMain的高度,但是可以得到它内部的about_txt的高度.
还有最后一点是将原来在根下调用的scrolling(true)移动loadVars内部.也就是当说当可以得到about_txt的高度后,我们在调用scrolling(true).如果仍放在根下,函数会在about_txt有高度之前执行.那是不会成功的.

此帖于 2007-05-28 10:51 AM 被 egoldy 编辑。

http://www.webstudio.com.cn/wssign/egoldyfoot.jpg
egoldy 当前离线  
回复时引用此帖
旧 2006-11-11, 09:19 PM   #2
egoldy
沙漠孤鹰
级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时
 
egoldy 的头像
 
注册日期: 04-07
住址: 北京
帖子: 2835
精华:4
现金:2411金币
资产:1668861金币
声望: 650
egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀
发送 MSN 消息给 egoldy 发送 QQ 消息给 egoldy
默认 回复: 超酷滚动公式自定义滚动条

更新了显示的演示文件.
egoldy 当前离线  
回复时引用此帖
旧 2006-11-13, 12:54 AM   #3
eastlife
版主
级别:7 | 在线时长:90小时 | 升级还需:6小时级别:7 | 在线时长:90小时 | 升级还需:6小时级别:7 | 在线时长:90小时 | 升级还需:6小时级别:7 | 在线时长:90小时 | 升级还需:6小时
 
eastlife 的头像
 
注册日期: 06-04
住址: 上海
帖子: 322
现金:-1金币
资产:213362金币
声望: 10
eastlife 向着好的方向发展
默认 回复: 超酷滚动公式自定义滚动条

想不到这小小滚动条居然怎么复杂,

看来老大的书很是有价值啊 期待购到此书好好学习下

http://www.liushuquan.com/images/sorrytomyfish.gif
帅哥 eastlife 当前离线  
回复时引用此帖
旧 2006-11-13, 03:05 PM   #4
loretta181
初级会员
级别:0 | 在线时长:3小时 | 升级还需:2小时
 
注册日期: 06-11
帖子: 8
现金:19金币
资产:19金币
声望: 10
loretta181 向着好的方向发展
箭头 回复: 超酷滚动公式自定义滚动条

真的吗?请问能不能风购啊?
偶这边老是找不到好的教材, 在网上提问又是没人理,好苦恼.

书的目录能不能先公开呀? 好期待呀.
loretta181 当前离线  
回复时引用此帖
旧 2006-11-13, 03:48 PM   #5
egoldy
沙漠孤鹰
级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时
 
egoldy 的头像
 
注册日期: 04-07
住址: 北京
帖子: 2835
精华:4
现金:2411金币
资产:1668861金币
声望: 650
egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀
发送 MSN 消息给 egoldy 发送 QQ 消息给 egoldy
默认 回复: 超酷滚动公式自定义滚动条

egoldy 当前离线  
回复时引用此帖
旧 2006-12-04, 03:56 PM   #6
zszen
初级会员
级别:0 | 在线时长:0小时 | 升级还需:5小时
 
注册日期: 06-12
帖子: 1
现金:2金币
资产:2金币
声望: 10
zszen 向着好的方向发展
默认 回复: 超酷滚动公式自定义滚动条

你可以做成类让大家简单使用麻,你这样做不仅妨碍了变量命名,没有模块化的管理,如果出错也很难找,只是建议
zszen 当前离线  
回复时引用此帖
旧 2006-12-08, 11:07 AM   #7
pallove
初级会员
级别:0 | 在线时长:2小时 | 升级还需:3小时
 
注册日期: 06-08
帖子: 7
现金:19金币
资产:19金币
声望: 10
pallove 向着好的方向发展
默认 回复: 超酷滚动公式自定义滚动条

可以再深入考虑下滚动条的高随内容再变化,以前写过这样的东西。的确不容易
pallove 当前离线  
回复时引用此帖
旧 2006-12-17, 07:31 PM   #8
好闪之徒
初级会员
级别:1 | 在线时长:6小时 | 升级还需:6小时
 
注册日期: 06-06
帖子: 28
现金:95金币
资产:95金币
声望: 10
好闪之徒 向着好的方向发展
发送 QQ 消息给 好闪之徒
默认 回复: 超酷滚动公式自定义滚动条

:d :d 太好了!就喜欢老大这样的由浅入深的实例教程!可以很明白的知道在学习什么!
超级顶~~~~!!!
好闪之徒 当前离线  
回复时引用此帖
旧 2006-12-26, 02:38 AM   #9
wwheyi
初级会员
级别:0 | 在线时长:4小时 | 升级还需:1小时
 
注册日期: 06-04
帖子: 6
现金:18金币
资产:18金币
声望: 10
wwheyi 向着好的方向发展
默认 回复: 超酷滚动公式自定义滚动条

不错啊!非常不错,已经收录在我的网站了。
不过缺憾和遗憾就是不支持鼠标滚轮,现在我已经习惯用滚轮来拖动了,如果此flash能支持滚轮就完美了。
我好久没来了,呵呵比较忙呢,有好东西我一定把他收录在网站中。
flash特效网 http://www.9941.cn

我的小站:flash特效网www.9941.cn 欢迎大家光临!
wwheyi 当前离线  
回复时引用此帖
旧 2006-12-26, 05:30 PM   #10
egoldy
沙漠孤鹰
级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时级别:22 | 在线时长:617小时 | 升级还需:4小时
 
egoldy 的头像
 
注册日期: 04-07
住址: 北京
帖子: 2835
精华:4
现金:2411金币
资产:1668861金币
声望: 650
egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀egoldy 有着人尽皆知的贡献和荣耀
发送 MSN 消息给 egoldy 发送 QQ 消息给 egoldy
默认 回复: 超酷滚动公式自定义滚动条

这个不是滚轮吗?还带缓动的.
HERE
egoldy 当前离线  
回复时引用此帖
发表新主题 回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码

论坛跳转

所有时间均为格林尼治时间 +9。现在的时间是 10:02 PM


copyright by webstudio.com.cn. All Rights Reserved.
Powered by vBulletin® 版本 3.8.3
版权所有 ©2000 - 2018,Jelsoft Enterprises Ltd.
增强包 [3.4] 制作: PHP源动力   官方中文站: vBulletin 中文