package game.help
{
public class DragUtil
{
public function DragUtil()
{
}
/**
* 开始拖拽
* */
public static function dragHandler(event:MouseEvent):void
{
// 定义拖拽挂载数据源
var dsragSource:DragSource = new DragSource();
// 定义拖拽图标
var copy:Image = new Image();
// 拖拽对象
var target:Image = event.currentTarget as Image;
// 添加拖拽数据源数据
dsragSource.addData(target, "img");
dsragSource.addData(event.localX, "x");
dsragSource.addData(event.localY, "y");
// 拖拽图标
copy.source = new Bitmap(getBitmapData(target.content));
// 执行拖拽
DragManager.doDrag(target, dsragSource, event, copy);
}
/**
* 进入拖放区域
* */
public static function dragEnterHandler(event:DragEvent):void
{
// 进入区域, 设置状态为允许拖放
if (event.dragSource.hasFormat("img"))
DragManager.acceptDragDrop(event.target as UIComponent);
}
/**
* 释放拖拽
* */
public static function dragDropHandler(event:DragEvent):void
{
var img:Image = event.dragSource.dataForFormat("img") as Image;
// 处理图片放置位置
img.x = event.currentTarget.mouseX - (event.dragSource.dataForFormat("x") as Number);
img.y = event.currentTarget.mouseY - (event.dragSource.dataForFormat("y") as Number);
}
/**
* 获取图片信息
* */
private static function getBitmapData(target:DisplayObject):BitmapData
{
var res:BitmapData = new BitmapData(target.width, target.height);
res.draw(target);
return res;
}
}
}
拖拽类
最新推荐文章于 2020-04-04 22:15:31 发布