本文主要是介绍制作Slider组件的些许性能改善,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码是横向Slider组件的基本代码,注意onMouseMove函数部分。
在计算Rectangle的时候,对于高度,可以计算,也可以设置为0。代码执行效果完全一样。
由于少了一步的计算,对改善性能有些许贡献。
package {import com.bit101.components.List;import flash.display.Sprite;import flash.display.StageAlign;import flash.display.StageScaleMode; import flash.events.MouseEvent;import flash.geom.Rectangle;public class test1 extends Sprite {private var a:Sprite;private var b:Sprite;public function test1() {//设置舞台与浏览器的相对位置stage.align = StageAlign.TOP_LEFT;//设置舞台是否随浏览器尺寸缩放:不缩放stage.scaleMode = StageScaleMode.NO_SCALE;a = new Sprite();a.graphics.beginFill(0x000000);a.graphics.drawRect(0, 0, 100, 20);a.graphics.endFill();a.x = 100;a.y = 100;addChild(a);b = new Sprite();b.graphics.beginFill(0x0000ff);b.graphics.drawRect(0, 0, 20, 20);b.graphics.endFill();b.x = 100;b.y = 100;addChild(b);b.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);}private function onMouseDown(e:MouseEvent):void{stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); }private function onMouseMove(e:MouseEvent):void{var rec:Rectangle = new Rectangle(a.x,a.y,a.width - b.width,a.height - b.height);//var rec:Rectangle = new Rectangle(a.x,//a.y,//a.width - b.width,//0);b.startDrag(false, rec); }private function onMouseUp(e:MouseEvent):void{stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp); b.stopDrag();}}
}
这篇关于制作Slider组件的些许性能改善的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!