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

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里面,图片每次长宽不一样,不能写死长宽来判断图片是否拖到容器外面
...全文
68 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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就可以了
回复
相关推荐
发帖
Flex
创建于2007-12-13

4328

社区成员

多媒体/设计 Flex
申请成为版主
帖子事件
创建了帖子
2010-09-17 02:38
社区公告
暂无公告