我想在flash / as3中创建一个可滚动的列表,重要的是......如果用户想要向上或向下移动一些列表项...他可以通过拖动项目来做到这一点......所以当他按住某个项目时......该项目将变为可拖动状态,当用户在列表中上下移动时,其他项目应滑动到空白区域。它与智能手机中的行为相同......
我将弄清楚创建,数据填充,滚动和其他鼠标交互事件....我只是想要帮助这一行为....通过拖动来改变项目的顺序。如果只有某人可以提供基本算法或任何想法如何实现这一点..这就足够了。
提前致谢
编辑:
首先......我为没有发布有关该问题的任何细节而道歉...(这是我在本网站的第一篇文章),因此我正在添加所有研究以及到目前为止我所做的工作。
我已经做了什么:
我想要下一步:
如果有人想要更多细节我可以分享。
提前致谢.. :))
答案 0 :(得分:0)
将一个简单的List组件添加到应用程序
在此示例中,列表由标识汽车模型和包含价格的数据字段的标签组成。
创建一个新的Flash(ActionScript 3.0)文档。
将List组件从“组件”面板拖到舞台上。
在属性检查器中,执行以下操作:
输入实例名称aList。
将值200分配给W(宽度)。
使用“文本”工具在aList下创建一个文本字段,并为其指定实例名称aTf。
打开“动作”面板,在主时间轴中选择第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()函数,该函数显示所选项目的数据值。
选择控制>测试电影以编译和运行此应用程序。
答案 1 :(得分:0)
最后我从其他论坛得到了答案。
以下是我要添加到列表中的示例(行为)的链接:
http://www.learningactionscript3.com/2008/05/13/the-power-of-relative-positioning/
(位于底部的“高级对齐示例”)。