flash解构涂料中的应用IX:画笔大小和不透明度滑
时间:2012-12-19 10:17来源:卓想空间http://www.zxgzs.com 作者:QQ:610929375 点击: 次
使用的工具的基础上的Flash的Oekaki /涂料应用程序的方式,让我们来看看这些工具的一些控制。 最重要的
是画笔的大小和不透明度的笔刷大小会影响画笔工具,不透明度影响画笔工具,椭圆工具,直线工具和矩形工
具。
我矿两种方式控制画笔的大小和不透明度:一个输入文本框或滑块。
给您的输入文本框的变量名。 矿山被称为BSIZE和OPAC看到,如果你能找出它代表的。 在Flash舞台,我也设
置了默认值,为每一个,但它不是必要的,因为只要您的加载框架,你值设置为您的默认初始值。 我让我的
开始在2个像素,我不透明度的笔刷大小,开始在100%。
您可能还记得,这些变量中使用Flash绘图API的教训说明,设置画笔工具 ,现在你可以参考这个课上的其他
工具 ,一看其中的变量适应环境。
确保你的位置标记上的滑块的电影片段,并将它们分配给每一个人的名字。 矿的sliderpointsize和
sliderpointopac。我们需要设置每一个滑块,以便它可以被拖动,跟踪它,并把它转换成0和100之间的值,
并将它移动时手动输入一个值:
onClipEvent(load){ _root.base.sliderxstart=getProperty(sliderpointsize,_x);
_root.base.sliderxend=_root.base.sliderxstart+50; _root.base.sliderypos=getProperty
(sliderpointsize,_y); } on (press,dragOver){ this.startDrag(); } on
(release,dragOut,releaseOutside) { this.stopDrag(); bshsize=getProperty
(_root.base.sliderpointsize,_x); distance=bshsize - _root.base.sliderxstart; sizeit=distance*2;
_root.base.bsize=Math.ceil(sizeit); } onClipEvent(keyDown){ recal=_root.base.bsize/2;
repos=Math.ceil(recal); adjust=_root.base.sliderxstart+repos;
_root.base.sliderpointsize._x=adjust; }
我不打算要打破这种向下一行一行的,但总结:这得到的x位置的指针舞台上的负载,将它分配给一个变量,
给另一个变量等于该值加50(因为我的滑球的长度是50个像素),然后得到的y(垂直)的指针的位置,并分
配给一个变量。
然后,它使用的startDrag和stopDrag设置的条件下,滑块将移动。 当stopDrag参数得到满足,那么得到的新
的x位置,以及画笔的大小来计算的差乘以2,舍入到最接近的整数使用Math.ceil的起始和结束之间的x位置,
并分配到变量输入文本框,因此,它反映了当前画笔大小的滑块选择。
通过键盘输入的用户,也可以移动滑块,当一个键被按下时,Flash会检查输入文本的价值的大小,并做一个
反向的前面的计算,将滑块移动到相应的x位置。
现在到了长期的,复杂的部分:每一个滑块的约束,使其不能移动以外的0-50像素的水平范围内设立的每一个
,并且不能改变其y的位置在所有:
onClipEvent(enterFrame){ spot=getProperty(_root.base.sliderpointsize,_x); spot2=getProperty
(_root.base.sliderpointsize,_y); spot3=getProperty(_root.base.sliderpointopac,_x);
spot4=getProperty(_root.base.sliderpointopac,_y); //constraints for the first slider if
(spot<_root.base.sliderxstart){ _root.base.sliderpointsize.stopDrag();
_root.base.sliderpointsize._x=_root.base.sliderxstart+2; } if(spot>_root.base.sliderxend){
_root.base.sliderpointsize.stopDrag(); _root.base.sliderpointsize._x=_root.base.sliderxend-2; }
if (spot2<_root.base.sliderypos||spot2>_root.base.sliderypos){
_root.base.sliderpointsize._y=_root.base.sliderypos; } //constraints for the second slider if
(spot3>_root.base.sliderxstart2){ _root.base.sliderpointopac.stopDrag();
_root.base.sliderpointopac._x=_root.base.sliderxstart2-2; } if(spot3<_root.base.sliderxend2){
_root.base.sliderpointopac.stopDrag(); _root.base.sliderpointopac._x=_root.base.sliderxend2+2; }
if (spot4<_root.base.sliderypos2||spot4>_root.base.sliderypos2){
_root.base.sliderpointopac._y=_root.base.sliderypos2; } }
单击“下一步的解释。
现在,我不会打破的代码行上下行。 但在这里是做什么的概述:
首先,代码被分配到一个控制器关闭影片剪辑的可见区域的阶段 - 它只是存在持有此代码,以便根据各地的
影片剪辑加载或骑自行车通过其单帧,我们可以使用onClip的(事件)处理。 我通常只绘制任意形状,使他
们的影片剪辑。
每次通过其单帧剪辑周期时,Flash会检查每个滑块的X和Y位置,并将其分配到四个独立的变量之一。 然后x
位置相比,电影加载时设置的起始x位置,并且,如果是更小,则stopDrag命令是用来阻止滑块的运动,它的
位置和复位到一个可接受的地方。
它的也测试,如果它是大于的结束位置(这是在刷滑块的情况下,不透明度滑块会走相反的,因为它会开始在
100和向后移动)和如果是,停止滑块的运动然后复位它的最大的可接受的结束点。
然后,它检查的y位置,并且,如果是大于或小于起始y位置,它重置它,以便它不能上升高于或低于它的出发
点。这就是它的滑块。
(责任编辑:卓想空间http://www.zxgzs.com)
上一篇:动画里面加入神话元素的审美
下一篇:最简单的Flash加载设置