注册本站  论坛  繁體中文

慧民电脑芯片级维修-电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> 网页设计 >> Flash >> Action Script >> 网页设计正文

as制作:可拖动单元格的菜单

文章来源:闪吧 作者:CYJB 更新时间:2008-9-22 12:50:11 【 】 【加入收藏
  进入网络咨询平台

    单元格是可以拖动的,并且可以在三个List之间拖动,不过没加自动滚动来着。AS相当简单,三个List组件分别是list1、list2、list3,然后把所有代码copy到第一帧就可以了。
import fl.events.ListEvent;
import fl.controls.List;
import fl.controls.listClasses.ICellRenderer;
import fl.controls.listClasses.ListData;
//为组件添加数据
var i:uint = 0;
for(i = 0;i<21;i++){
list1.addItem({label:"label" + i});
}
for(i = 21;i<41;i++){
list2.addItem({label:"label" + i});
}
for(i = 41;i<61;i++){
list3.addItem({label:"label" + i});
}
//添加侦听器
list1.addEventListener(ListEvent.ITEM_ROLL_OVER,itemRollOverHandler);
list2.addEventListener(ListEvent.ITEM_ROLL_OVER,itemRollOverHandler);
list3.addEventListener(ListEvent.ITEM_ROLL_OVER,itemRollOverHandler);
list1.addEventListener(ListEvent.ITEM_ROLL_OUT,itemRollOutHandler);
list2.addEventListener(ListEvent.ITEM_ROLL_OUT,itemRollOutHandler);
list3.addEventListener(ListEvent.ITEM_ROLL_OUT,itemRollOutHandler);
stage.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);
stage.addEventListener(MouseEvent.MOUSE_UP,mouseUpHandler);
//标记的组件和相应的行
var lastCaredList: List = null;
var lastCaredIndex:int = -1;
var dragedList: List = null;
var dragedIndex:int = -1;
var itemValue:Object = null;
//单元格渲染器
var cellRendererClass:Class = List.getStyleDefinition()["cellRenderer"];
var cellRenderer:ICellRenderer = new cellRendererClass() as ICellRenderer;
//侦听器
function itemRollOverHandler(event: ListEvent):void{
//标记组件和行
lastCaredList = event.target as List;
lastCaredIndex = event.index;
}
function itemRollOutHandler(event: ListEvent):void{
//取消标记
lastCaredList = null
lastCaredIndex = -1;
}
function mouseDownHandler(event:MouseEvent):void{
if(lastCaredList != null){
  //删除标记的行
  itemValue = lastCaredList.removeItemAt(lastCaredIndex);
  createCellRenderer();
}
}
function mouseUpHandler(event:MouseEvent):void{
if(itemValue){
  removeChild(cellRenderer as Sprite);
  stage.removeEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
  //判断,是加到新组件中还是原组件中
  if(lastCaredList){
   lastCaredList.addItemAt(itemValue,lastCaredIndex);
  }else{
   dragedList.addItemAt(itemValue,dragedIndex);
  }
  itemValue = null;
}
}
function mouseMoveHandler(event:MouseEvent):void{
//拖动渲染器
cellRenderer.x = mouseX;
cellRenderer.y = mouseY;
event.updateAfterEvent();
}
function createCellRenderer():void{
dragedList = lastCaredList;
dragedIndex = lastCaredIndex;
//拖动的渲染器
cellRenderer.listData = new ListData(itemValue.label,itemValue.icon,lastCaredList,0,0,0);
cellRenderer.selected = true;
cellRenderer.setSize(lastCaredList.width,lastCaredList.rowHeight);
cellRenderer.x = mouseX;
cellRenderer.y = mouseY;
addChild(cellRenderer as Sprite);
stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
}
  • 上一篇网页设计:

  • 下一篇网页设计:
  • 最 新 热 门
     最简单的“开始”菜单效果
     geom加bitmapdata类打造超酷鼠标跟随效果
     AS3:图像裁剪
     Flash打造小球的弹性碰撞
     as3运用:点击图片取色
     as制作:可拖动单元格的菜单
     利用BitmapData类制作FLASH 3D相册
     使用Flash MX过程中的3个小技巧
     使用AS3自带函数进2/8/10/16/32进制互换
     flash制作字母变换效果
    最 新 推 荐
     AS3:图像裁剪
     Flash打造小球的弹性碰撞
     as3运用:点击图片取色
     as制作:可拖动单元格的菜单
     利用BitmapData类制作FLASH 3D相册
     Flash as教程:图片模糊运动
     flash as简单制作飘雪动画
     Flash as3.0教程:弹性小球
     Flash ActionScript 3.0教程:学习Dot类
     Flash AS 教程:交互动画
    相 关 文 章

    AS3:图像裁剪
    Flash打造小球的弹性碰撞
    as3运用:点击图片取色
    利用BitmapData类制作FLASH 3D相册
    使用Flash MX过程中的3个小技巧
    使用AS3自带函数进2/8/10/16/32进制互换
    flash制作字母变换效果
    Flash鼠绘教程:打造窈窕淑女
    Flash创意特效:飞越星空
    Flash创意特效:清风不识字

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    门市地址:广东省佛山市南海区黄岐黄海路133号
    本网站所有内容未经许可不得转载或做其他使用