制作Slider组件的些许性能改善

2024-04-03 09:08

本文主要是介绍制作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组件的些许性能改善的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/872487

相关文章

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Vue3中的动态组件详解

《Vue3中的动态组件详解》本文介绍了Vue3中的动态组件,通过`component:is=动态组件名或组件对象/component`来实现根据条件动态渲染不同的组件,此外,还提到了使用`markRa... 目录vue3动态组件动态组件的基本使用第一种写法第二种写法性能优化解决方法总结Vue3动态组件动态