这个拖拽代码如何改,可以使其拖拽时图片不会拖到容器外面

hanyu1222 2010-09-17 02:38:03

private var oldX,oldY:Number;
private function onMouseMove(event:MouseEvent):void{
if(event.buttonDown){
var x:Number = event.stageX - oldX;
var y:Number = event.stageY - oldY;
oldX = event.stageX;
oldY = event.stageY;
img.move(img.x + x,img.y + y);
oldX = event.stageX;
oldY = event.stageY;
}
}

img组件放在一个canvas里面,图片每次长宽不一样,不能写死长宽来判断图片是否拖到容器外面
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jilili403 2010-09-19
  • 打赏
  • 举报
回复
Flex本身就有判断你指定点是否在组件里面的方法:hitTestPoint;
你这边这样写,就是判断图片是否拖到容器外面
!canvas.hitTestPoint(mouseEvent.stageX, mouseEvent.stageY, true)
hanyu1222 2010-09-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 leemiki 的回复:]
组件不是有个dropEnabled属性吗 设为true时才允许拖动的物体放到该组件上

这个属性缺省值是false,初始就拖放不了的

不是太清楚你的意思
[/Quote]
dropEnabled跟这个貌似没什么关系啊,我那段代码已经可以实现拖拽了
leemiki 2010-09-17
  • 打赏
  • 举报
回复
组件不是有个dropEnabled属性吗 设为true时才允许拖动的物体放到该组件上

这个属性缺省值是false,初始就拖放不了的

不是太清楚你的意思
hanyu1222 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lieri111 的回复:]
首先要取出,当前窗体的大小,然后加上判断条件就可以了,小于窗体的x,和y就可以了
[/Quote]
还是不太明白,窗体大小和图片位置有什么关系
leemiki 2010-09-17
  • 打赏
  • 举报
回复
canvas的尺寸随着image的加入而改变,你resize事件获取canvas的大小,然后再控制
passself 2010-09-17
  • 打赏
  • 举报
回复
首先要取出,当前窗体的大小,然后加上判断条件就可以了,小于窗体的x,和y就可以了

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧