如何从多个不同的swc创建多个对象来实现相同的控件?

时间:2012-08-15 00:02:04

标签: actionscript-3 flash user-interface

我正在尝试创建每个从不同swc加载的3different对象。每个swc使用相同的fl.controls.ComboBox,在运行时我收到有关无法从MovieClip转换为ComboBox的错误。

我尝试在链接类型中将库的发布设置更改为“外部”但这迫使我将整个库包含到项目中,这大大增加了可执行文件的大小。

在不同的swc上使用fl.controls.ComboBox(或任何其他类型的控件)而不会在代码中出现冲突的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

我不明白你的问题。 因为常识最好的情况只是组件将Libarary附加在单个SWC中,并且以编程方式确实使组合框正常。

我看完了完整的源代码并且.fla得到了明确的解决,但我想你的问题就在于此。

SWC中的每个组合框都包装好吗?每个人的SWC要区分,从组合框中引用的是以下过程。 例如,SWC有三种 如果假设Number 1是City Selection ComboBox而Number 2是Interesting Selection ComboBox而Number 3是Birthday ComboBox。 你应该转换为CityComboBox,SelectionComboBox,一旦包裹在崩溃中的BirthdayComboBox MovieClip,如果在之后使用则不会发生。你必须遵守代码。

private var comboBox0:CityComboBox;
private var comboBox1:SelectionComboBox;
private var comboBox2:BirthdayComboBox;
private var cityComboBox:ComboBox;
private var selectionComboBox:ComboBox;
private var birthdayComboBox:ComboBox;

public function Constructor()
{
   comboBox0 = new CityComboBox();
   .
   .
   .
   cityComboBox = comboBox0.getChildAt(0) as ComboBox;
}

enter image description here

enter image description here


P.S

  

根据我的经验,除非您为每个类创建每个SWC映射,   SWC不需要分成每个。(当然,取决于   情况不同的方式是。)如果你是一个单一的SWC   影片剪辑或组件Libary创建在你心中整洁和崩溃   不存在。如果问题很容易,你知道哪一部分。因为   它们都在一个地方DisplayObject,Naming,Linkage这样的崩溃可以避免。