论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

滚动条制作

文章类别:Flash | 发表日期:2008-9-21 20:07:33

  第一次写教程,有错误大家指出咯。

前言:自己刚开始学flash的时候,看了好多滚动条教程都云里雾里,非凡是var了无数个变量后,还传递来传递去的,最后都不知道在算什么了。而用组件即浪费又不利于修改外观。其实对于新手,需要由简入深来理解,开始先不要追求功能,先实现最基本的拖动就可以了,于是早起写了一篇教程,一条核心代码就实现功能。般门弄斧高手不要笑话。

效果如下:
点击浏览该文件
源文件:
点击浏览该文件
http://www.flash8.net/bbs/UploadFile/2005-4/2005430112212359.swf

首先看这张图,那么多线条,其实就黄色框内的是有用的控制部分。

按此在新窗口浏览图片

遮照不用说了,就是放个东西在你要显示的范围内,把图片放到被遮照的位置。

pane其实也是没用的,让别人知道个拖动范围而已。

接着,为舞台上的实例命名

图命名为:move_pic

拖动条命名为:move_bar

新手不要忽略了这步哦,本人以前总是忘记命名,每次都是代码写完了却找不出错误,最后才发现原来还没命名。命名规则也很重要,有时候随便命个pic啊什么的,实例多了轻易出错,而且习惯之后就难改过来了。

到这里工作就完成80%了,是不是很简单呢。

接下来,开始在最上面那个帧里写滚动条的代码,先看我初步写的:

move_bar.onMouseDown = function() {
move_bar.startDrag(0, 214, 0, 214, 112);
};
move_bar.onMouseUp = function() {
move_bar.stopDrag();
};
this.onEnterFrame = function() {
};

这里写成函数的形式,其实可以这样理解:

move_bar.鼠标一旦按下= 功能() {
move_bar.startDrag(0, 214, 0, 214, 112);
};

startDrag内的参数:0代表不锁定在拖动块的正中间,一般我们做拖动的时候都是不锁定的,可以让用户拉着对象的任意部分拖动。后面四个数字是划块的拖动范围。

初学的时候往往会不知道函数怎么用,参数怎么写,这时候最好的方法不是问,是选中这个函数,然后按F1,帮助里什么都有。

按此在新窗口浏览图片

你看是不是很具体呢,还有相关函数的用法和例子。

同理:

move_bar.一旦鼠标离开 = function() {
move_bar.stopDrag();
};

这里要说明的是,不知道从flash几开始,mc可以实现按钮的所有功能了,onPress等语句同样可以用在mc上,所以,这里你也可以写成onPress,onRelease,效果是一样的。

最后还有10%没完成:


this.onEnterFrame = function() {
};

我们先不用在函数内部写东西,我们先来理解一下什么是onEnterFrame,这个东西是指一旦进入这帧以后会发生什么事情。重要的它是循环执行的,你想他停都不是那么轻易的。当我们要让某些函数往复运行的时候,就用到他。

这里我们要不断判定划块的位置(move_bar._y)来确定图片的位置(move_pic._y ),那么代码肯定就是:move_pic._y = (什么什么什么)move_bar._y

那么只要上过初中的朋友都不会对这个问题生疏,我们知道了图片和划块的两个边缘状态(图片到底,划块到底;图片到头,划块到头)图示如下:

按此在新窗口浏览图片
于是,解一个二元一次方程就能确定系数了,在这个实例中:

move_pic._y = -move_bar._y*67/28+0;把他写到那个循环函数里,就是:
this.onEnterFrame = function() {
move_pic._y = -move_bar._y*67/28;
};

之后,你就可以在这个基础上添加各种效果,包括缓冲啊,按钮啊,等等的。熟练以后,还可以试着编写那些直接通过运算确定各个坐标的复杂滚动条。不知道大家是否觉得有收获,欢迎讨论。
点击浏览该文件

上一篇:{实例}侧转视角的绘法 人气:2179
下一篇:{实例}FLASH播放器DIY 人气:3631
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058