我不是Flash方面的专家,我需要一些快速帮助,无需从头开始学习。
简短的故事,我必须列出每个单元格包含图像,两个标签和一个按钮的列表。
列表/单元格示例:
img - label - label - button
img - label - label - button
作为一名Java程序员,我试图快速学习Flash和AS3的语法和视觉效果,但到目前为止还没有运气。 我已经相当了解电影剪辑的基础知识等。
我看到了一个关于如何添加列表并向其添加一些文本的教程。所以我拖入一个列表,并在代码中去了list.addItem({label:“hello”}); ,那是有效的。所以我想如果我双击列表的MC,我会调整一些东西。在那里,我一直在不同的细胞渲染器大厅等地游荡。
我现在已经进入了CellRenderer_skinUp之类的东西,并根据自己的喜好对其进行了定制。完成后,我预计我可以使用list.addItem();并使用img,标签和按钮获取我的单元格的空“版本”。但AS3期望在addItem中输入。从我的面向对象的角度来看,我认为我必须创建一个我所制作的单元格的对象,但我没有运气到达它...我试着去 var test:CellRenderer = list.listItem; list.addItem(测试);
..但没有运气。
这只是为了测试,但我真的想做这个工作,但不是很多,我愿意阅读有关Flash和AS3的ALOT。我觉得我正在接受奖项,但是编译器在变量之后需要一个分号(list.addItem({test:something});)。
注意:如果可能,我不希望这样: list.addItem({图像: “SRC”,标签: “文本”,标签 “文本”,按钮: “文本”}); 嗯..这实际上是我想要的,但我真的想定制一切。
有没有人得到我想做的事,并且对我有任何答案?我是以错误的方式接近这个吗?我搜索了互联网上的自定义列表单元格,但没有运气。 拜托,欢迎任何指导!
性病
答案 0 :(得分:0)
您也可以使用Datagrid,每列都指向数据源的相应部分(可能甚至是相同的字段,具体取决于您正在做的事情)。然后,您可以使用ImageCell作为第二和第三列的渲染器。
我认为你只是不明白,Adobe以自己的头脑发达的方式将你的模型与视图分开。您将模型交给视图然后离开。您可以/应该更改的范围只是告诉它将数据弹出的渲染器。
事实上,fl.controls并没有给你很多关于它们如何工作的控制 - 如果你不这样做,我就不会试图创建一个具有任何重要功能的自定义itemRenderer。完全理解显示列表的工作原理,如果你不习惯在调试器中挖掘并搜索各种未记录的信息。
有关详细信息(在任何人都知道如何工作的程度),请参阅 http://www.adobe.com/devnet/flash/quickstart/datagrid_pt1.html http://www.adobe.com/devnet/flash/quickstart/datagrid_pt2.htmlhttp://www.adobe.com/devnet/flash/quickstart/datagrid_pt3.html http://www.adobe.com/devnet/flash/quickstart/tilelist_component_as3.html
您是否可以选择使用Flex Framework而不是纯Flash?它使这种扩展更令人满意。它更多地针对应用程序开发人员,而Adobe则将Flash用户视为设计师。