0

我想在 flash/as3 中创建一个可滚动列表,重要的是....如果用户想向上或向下移动某些列表项...他可以通过拖动项目来做到这一点...所以当他按下并按住一个项目......该项目将变得可拖动,并且当用户在列表中向上或向下移动它时,其他项目应该滑动到空白空间。它与智能手机中的行为相同....

我会弄清楚创建、数据填充、滚动和其他鼠标交互事件....我只是想帮助解决这个行为....通过拖动来更改项目的顺序。如果只有某人可以提供基本算法或任何想法如何实现这一点..就足够了。

提前致谢

编辑:

首先......我很抱歉没有发布关于这个问题的任何细节......(这是我在这个网站上的第一篇文章),因此我添加了所有的研究和我到目前为止所做的事情。

  • 该列表是一个大项目的一部分,因此我无法共享整个代码。

我已经做了什么:

  • 我已经创建了一个掩码、一个容器、一个滚动容器来滚动容器、添加到列表中的项目、添加项目的方法、删除项目并根据顺序排列它们。
  • 因此,它是一个可书写的工作清单。
  • 整个事情都在 as3 和 flash 中。
  • 我不知道 flex,我也不想使用它。

接下来我想要什么:

  • 我想通过(鼠标按下项目->向上/向下拖动->鼠标向上)序列更改这些项目的顺序。

如果有人想要更多细节,我可以分享。

提前致谢.. :)

4

2 回答 2

0

最后我从其他论坛得到了答案。

这是我要添加到列表中的示例(行为)的链接:

http://www.learningactionscript3.com/2008/05/13/the-power-of-relative-positioning/

(在底部的“高级对齐示例”)。

于 2012-12-17T05:40:53.450 回答
0

向应用程序添加一个简单的 List 组件

在此示例中,列表由标识汽车型号的标签和包含价格的数据字段组成。

创建一个新的 Flash (ActionScript 3.0) 文档。

将 List 组件从“组件”面板拖到舞台上。

在属性检查器中,执行以下操作:

输入实例名称 aList 。

将值 200 分配给 W(宽度)。

使用文本工具在 aList 下方创建一个文本字段,并为其指定实例名称 aTf 。

打开 Actions 面板,在主 Timeline 中选择 Frame 1,然后输入以下 ActionScript 代码:

import fl.controls.List; 
import flash.text.TextField; 

aTf.type = TextFieldType.DYNAMIC; 
aTf.border = false; 

// Create these items in the Property inspector when data and label 
// parameters are available. 
aList.addItem({label:"1956 Chevy (Cherry Red)", data:35000}); 
aList.addItem({label:"1966 Mustang (Classic)", data:27000}); 
aList.addItem({label:"1976 Volvo (Xcllnt Cond)", data:17000}); 
aList.allowMultipleSelection = true; 

aList.addEventListener(Event.CHANGE, showData); 

function showData(event:Event) { 
    aTf.text = "This car is priced at: $" + event.target.selectedItem.data; 
}

此代码使用 addItem() 方法用三个项目填充 aList,为每个项目分配一个标签值(出现在列表中)和一个数据值。当您在 List 中选择一个项目时,事件侦听器调用 showData() 函数,该函数显示所选项目的数据值。

选择 Control > Test Movie 来编译和运行这个应用程序。

来源:http ://help.adobe.com/en_US/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7fa6.html

于 2012-12-16T18:12:06.537 回答