拖拽区域问题
时间:2010-11-24
来源:互联网
我想做一个滚动条,拖拽对象是的Rectangle区域有个很怪的问题,我做了测试,做了一个大矩形的MC作为限制区域,再做了一个小矩形MC做为拖拽物体。两个矩形的注册点都在中心。
在把小矩形中心点对齐到大矩形的左上角后,mc3.startDrag(false,new Rectangle(defX,defY,box3.width,box3.height));这样效果是正常的,小矩形只能在大矩形内拖拽。
但想把小矩形完全包含在大矩形内进行拖拽时出问题了,mc3.startDrag(false,new Rectangle(defX,defY,box3.width - mc3.width,box3.height - mc3.height));这样做的话拖拽小矩形到大矩形右边和下边时总会有看上去1像素的边,这个边是怎么产生的啊?哪位解答一下,该怎么做?
defX和defY是小矩形的初始X,Y坐标。
在把小矩形中心点对齐到大矩形的左上角后,mc3.startDrag(false,new Rectangle(defX,defY,box3.width,box3.height));这样效果是正常的,小矩形只能在大矩形内拖拽。
但想把小矩形完全包含在大矩形内进行拖拽时出问题了,mc3.startDrag(false,new Rectangle(defX,defY,box3.width - mc3.width,box3.height - mc3.height));这样做的话拖拽小矩形到大矩形右边和下边时总会有看上去1像素的边,这个边是怎么产生的啊?哪位解答一下,该怎么做?
defX和defY是小矩形的初始X,Y坐标。
作者: hy1980629 发布时间: 2010-11-24
Rectangle(defX,defY,box3.width - mc3.width + 1,box3.height - mc3.height + 1));这样就刚刚好,这1像素是怎么来的啊?
作者: hy1980629 发布时间: 2010-11-24
“在把小矩形中心点对齐到大矩形的左上角后” 这个是你手动对齐的么,可能问题在这里--手动对齐步一定准。
var defX:Number = box3.x - box3.width / 2;
var defY:Number = box3.y - box3.height / 2;
mc3.startDrag(true,new Rectangle(defX,defY,box3.width - mc3.width /2, box3.height - mc3.height/2));
看看下边和右边,是不是你想要的。
另外有些应用造成大约1个像素的偏差可能是由于矩形的边框造成的。
var defX:Number = box3.x - box3.width / 2;
var defY:Number = box3.y - box3.height / 2;
mc3.startDrag(true,new Rectangle(defX,defY,box3.width - mc3.width /2, box3.height - mc3.height/2));
看看下边和右边,是不是你想要的。
另外有些应用造成大约1个像素的偏差可能是由于矩形的边框造成的。
作者: yaonai2003 发布时间: 2010-11-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28