Flash与组件 制作Slider组件

               

   利用as3,我们可以尝试制作一些有趣的组件,虽然现在已经有很多实用的组件,但是自己尝试写一下也是不错的。利用as3语法,借用了绘图Api我们尝试制作一下这个组件。因为我们不需要很强大的功能,对此我们只是需要选取其一部分就可以。

 

 

 

首先,我们所需的制作两个图形,一个是拖动的方块,一个是底图片。对于这两个图我们都不难做,采用绘图APi当中的绘制矩形的办法就能实现到。

 

我们需要定义个包,这个包是为了防止与flash内部组件类名称冲突如下:

package org.summerTree.components

所需要做的工作是,定义好构造函数里面的参数。设置容器,最大值和最小值。两个值就是两端的位置,以及初始化的默认值

 

 //滚动的组件package org.summerTree.components{ import flash.display.Sprite; import flash.display.Shape; import flash.events.*; import flash.geom.Rectangle; import flash.display.DisplayObjectContainer; import flash.text.*; public class Slider extends Sprite {  private var bar_control:Sprite;  private var values:Number=0;  private var msg:TextField=new TextField();  private var minValue:Number=0;  private var maxValue:Number=100;  private var initializtion:Number;  public function Slider(contain:DisplayObjectContainer=null,minValue:Number=0,maxValue:Number=100,initializtion:Number=0)  {  }} 

 

 

在这里过程,我们导入我们所需要的包,包括事件类型,包括几何图形库等等。

 

我们创建Slider 作为这个组件的类名称,建立起第一步之后,我们就可以实现进行绘制图案进行创作。

 

 

 

第二步:创始化,

在这个过程当中,实例化控制的拖动的元件,并设置底的图形,在这里过程设置不同颜色以区别。并且对元件进行监听鼠标拖动,在拖动的过程当中,元件的x坐标会产生改变,这样我们需要把这个值通过计算出来传递设置value的值,

 

this.value=bar_control.x*(maxValue-minValue)/100+minValue;//计算元件块位置对于的值

 

 

如果按0-100这样的区间,只有我们获取到拖动的元件的坐标值,即可以得到我们所需要的数据。bar.x=[0,100]之间的区间

 

 

如果这个区间不在0-100 ,可以随意一个区间,我们则可以通过简单的换成就可以

 

(bar.x/bar.width)*(max-min)+min; 这样换算则可以实现到。

 

 

 private function init():void  {   //控件底座   var bar_bottom:Shape=new Shape();   addC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值