分享

[Flash基础理论课07]制作控制滑块[startDrag]

 昵称PG98j 2013-03-13

如:音量控制,播放控制,尺寸控制等等,不胜枚举

 

路:1.确定滑块的横向移动范围;

      2.获得滑块(slider)在控制条(bar)中的相对位置(百分比);

      3.最后返回一个变量(per),范围在1~100,是唯一的变量输出。

 

步骤1:

[Flash基础理论课07]制作控制滑块[startDrag] 

  1.绘制一长方块,保存为影片剪辑,实例名slider,注册点在中心;

  2.绘制一控制条,保存为影片剪辑,实例名bar,注册点在左中;

  3.放入一个图片,保存为影片剪辑,实例名为mc.

 

步骤2:

加入AS代码:
var left = bar._x+slider._width/2;
var right = bar._x+bar._width-slider._width/2;
var bottom = top = bar._y;
//确定slider可移动的左右及上下边界

slider.onPress = function() {
 this.startDrag(true, left, top, right, bottom);
};

slider.onRelease = function() {
 this.stopDrag();

};
 

_root.onMouseMove = function() {
 var per = Math.ceil((slider._x-left)/(right-left)*100);

//per(slider在bar中的相对位置)=slider的x坐标 ÷ slider移动的宽度范围
 _root.mc._xscale = per;
 _root.mc._yscale = per;
//最后用这个比值再去控制图片的缩放大小
};

slider.onReleaseOutside = slider.onRelease;
//鼠标在外面释放也等同于内部释放的效果
 
^_^这是个非常有用的实例,我们不防把这个控制条整个存为元件,日后再用的只需要从库中拖出一个就可以了。^_^
 
Flash充电1:startDrag()
mc.startDrag([固定中心],[left],[top],[right],[bottom])
 
固定中心:[可选] 一个布尔值,指定可拖动影片剪辑是锁定到鼠标位置中央 (true),还是锁定到用户首次单击该影片剪辑的位置上 (false)。
 
left,top,right,bottom:[可选] 相对于该影片剪辑的父级的坐标的值,用以指定该影片剪辑的约束矩形。
 
 
Flash充电2:取整函数简介

(1)Math.floor: 向下取整,小于等于该数字的最接近的整数。
例如:
Math.floor(12.8) 值为 12
Math.floor(-6.2) 值为 -7

 

(2)Math.ceil: 向上取整,大于等于该数字的最接近的整数。
例如:
Math.ceil(12.1) 值为 13
Math.ceil(12.01) 值为 13

 

(3)Math.round: 采用四舍五入方式取整。
例如:
Math.round(365.34) 值为 365
Math.round(20.5) 值为 21
Math.round(-45.5) 值为 -45
Math.round(-45.51) 值为 -46



将原来的
per = int((slider._x-left)/(right-left)*100);
更改为现在的
per = Math.ceil((slider._x-left)/(right-left)*100);
使用上取整更为妥当,提高了程序的容错能力。
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多