滑块使用范围非常广泛,如:音量控制,播放控制,尺寸控制等等,不胜枚举...
思路:
1.确定滑块的横向移动范围;
2.获得滑块(slider)在控制条(bar)中的相对位置(百分比);
3.最后返回一个变量(per),范围在1~100,是唯一的变量输出。
步骤1:
1.绘制一长方块,保存为影片剪辑,实例名slider,注册点在中心;
2.绘制一控制条,保存为影片剪辑,实例名bar,注册点在左中;
3.放入一个图片,保存为影片剪辑,实例名为mc.
步骤2:
加入AS代码:
left = bar._x+slider._width/2;
right = bar._x+bar._width-slider._width/2;
bottom = top = bar._y;
//确定slider可移动的左右及上下边界
slider.onPress = function() {
this.startDrag(true, left, top, right, bottom);
};
slider.onRelease = function() {
this.stopDrag();
};
_root.onMouseMove = function() {
per = int((slider._x-left)/(right-left)*100);
/* slider._x-left = slider在bar中的相对X坐标
right-left = bar可拖动的有效宽度
他们之间的比值就是要求的相对位置 */
_root.mc._xscale = per;
_root.mc._yscale = per;
//最后用这个比值再去控制图片的缩放大小
};
slider.onReleaseOutside = slider.onRelease;
//鼠标在外面释放也等同于内部释放的效果
这是个非常有用的实例,我们不防把这个控制条整个存为元件,日后再用的只需要从库中拖出一个就可以了。
Flash充电:startDrag()
mc.startDrag([固定中心],[left],[top],[right],[bottom])
固定中心:[可选] 一个布尔值,指定可拖动影片剪辑是锁定到鼠标位置中心 (true),还是锁定到用户首次单击该影片剪辑的位置上 (false)。left,top,right,bottom:[可选] 相对于该影片剪辑的父级的坐标的值,用以指定该影片剪辑的约束矩形。