0

我不是 Flash 方面的专家,在这里我需要一些快速帮助,而不需要从头开始学习所有内容。

短篇小说,我必须列出一个列表,其中每个单元格包含一个图像、两个标签和一个按钮。

列表/单元格示例:


img - 标签 - 标签 - 按钮


img - 标签 - 标签 - 按钮


作为一名 Java 程序员,我试图快速学习 Flash 和 AS3 的语法和可视性,但到目前为止还没有成功。我已经相当了解电影剪辑等的基础知识。

我看到了一个关于如何添加列表并添加一些文本的教程。于是我拖入了一个列表,在代码中加入了 list.addItem({label:"hello"}); ,并且工作正常。所以我想如果我双击列表的 MC,我会调整一些东西。在那里,我一直在不同的单元格渲染器等大厅里徘徊。

我现在已经到了输入 CellRenderer_skinUp 或其他东西的程度,并根据自己的喜好对其进行了自定义。完成后,我希望我可以使用 list.addItem(); 并获得我的单元格的空“版本”,带有 img、标签和按钮。但 AS3 需要 addItem 中的输入。从我面向对象的角度来看,我认为我必须创建一个我制作的单元格的对象,但我没有运气。我试图去 var test:CellRenderer = list.listItem; list.addItem(test);

..但没有运气。

这只是为了好玩,但我真的很想完成这项工作,但我不愿意阅读大量的 Flash 和 AS3。我觉得我已经接近了奖品,但是编译器希望在变量 (list.addItem({test:something});) 之后有一个分号。

注意:如果可能,我不希望这样:list.addItem({image:"src",label:"text",label"text",button:"text"}); 嗯..这实际上是我想要的,但我真的很想自定义绘制一切。

有没有人得到我想要做的事情,并对我有任何答案?我是以错误的方式接近这个吗?我已经在互联网上搜索了自定义列表单元,但没有运气。请,这里的任何指导表示赞赏!

性病

4

1 回答 1

0

您也可以使用 Datagrid,每列都指向数据源的适当部分(甚至可能是相同的字段,具体取决于您在做什么)。然后,您可以只使用 ImageCell 作为第二和第三列的渲染器。

我认为您只是不了解 Adob​​e 以自己的笨拙的方式代表您将模型与视图分开。您将模型交给视图,然后让开。您可以/应该更改的范围只是告诉它要将数据弹出到哪个渲染器中。

事实上,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 框架而不是纯 Flash?它使这种扩展更加令人满意。它更多地针对应用程序开发人员,而 Adob​​e 更多地将 Flash 用户视为设计师。

于 2012-07-03T03:12:35.863 回答