图片拖拽效果

  • Post author:
  • Post category:其他


游戏中比较常见的拖拽效果,例如拖动技能icon或者其他道具icon到指定位置,松开之后,判断能否使用。

下面是用laya与as3实现拖拽效果的代码(需求是拖拽icon,并且,icon拖拽道具到指定位置时如果满足条件,该指定位置的item高亮显示)

先在UI编辑器里面给各个item添加name,博主这里假设icon只有2个,并给name分别赋值为icon0,icon1,对此,单纯的拖拽和松开鼠标时进行判断已经满足不了需求了,还需添加黑色背景。而黑色背景是一个封装接口,与UI显示层级是并列的,无法通过调整层级实现高亮,故只能直接在stage上添加item来实现高亮效果。item为new的添加在stage上的icon。icon0和icon1为原本就应该显示的icon

//定义将要添加在stage的item,Class视具体情况定义为指定的变量类型
private var item:dragClass;
private var cloneIconItem:iconClass;
//黑色半透明背景遮罩
private var blackMask:blackMaskClass;
private var _dragImage:Image;
//有需求要给stage添加item,那么必定存在remove item的过程
//从stage移除添加在stage上的item,这里注意,如果直接在stage上添加,
//因为原位置还存在本来就有的item,会出现重叠(表现上就是字体颜色较浓等等,故判断可以高亮显示时,
//隐藏原位置的item,那么移除添加在stage上的item时,就需要将显示出原位置的icon)
private function removeAllItem():void{
    for(var i:int = 0;i<2;i+



版权声明:本文为qq_22794043原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。