问题描述
|
我在Flash Builder中创建了一个纯AS3项目,并且尝试使用fl.controls.Slider。我决定将fl库链接为SWC。我从这里下载了一个,并将其包含在项目库路径中。然后以这种方式实例化滑块(这在主Sprite中):
var s:Slider = new Slider();
addChild(s);
没有编译错误,但是当我启动项目时,出现以下运行时错误:
Main Thread (Suspended: TypeError: Error #2007: Parameter child must be non-null.)
flash.display::displayObjectContainer/addChildAt [no source]
fl.controls::BaseButton/drawBackground
fl.controls::BaseButton/draw
fl.core::UIComponent/drawNow
fl.controls::Slider/draw
fl.core::UIComponent/callLaterdispatcher
知道发生了什么吗?有没有在纯AS3 Flash Builder环境中使用fl组件的更好方法?
谢谢大家!解决方法
这意味着变量s为空。这是因为:
您尚未导入实际的课程
该类在您的swc中不存在
第一个很明显。为了确保swc中存在实际的类,您可以使用zip / rar程序打开swc,并在包含xml中查找以下行:
<script name=\"fl/controls/Slider\" mod=\"... etc
编辑:
您是否尝试过其他来源的swc?甚至通过以下操作使用该软件包编译自己的swc:
创建一个新的FLA
拖放组件
导出为SWC,这意味着变量s为空。这是因为:
您尚未导入实际的课程
该类在您的swc中不存在
第一个很明显。为了确保swc中存在实际的类,您可以使用zip / rar程序打开swc,并在包含xml中查找以下行:
您是否尝试过其他来源的swc?甚至通过以下操作使用该软件包编译自己的swc:
创建一个新的FLA
拖放组件
导出为SWC,这真的很老,所以我只将评论中的答案复制粘贴,以便我接受。
我找到了答案,毕竟这里缺少皮肤。因此,我要做的就是在组件的所有可用外观上调用setStyle并定义它们,无论如何我都需要这样做,因为我将不使用默认外观。