1

我将利用尚未回答此讨论的事实来添加一些信息并缩小我的问题范围。

您仍然可以从下面的链接下载我的项目。

似乎我的 fla 在 Flash Pro CS5 中的文档类没有正确链接到 Flash Builder 4 中的默认应用程序类。我的意思是,当您在 Flash CS5 中单击属性中的“编辑类定义”(铅笔图标)时窗口会提示您在 Flash Builder 4 中创建一个新的 flash 项目,或者如果这样的文件已经存在,那么它会在 FB 中打开。

我的项目有这样一个文件,但是当我在 Flash CS5 中单击“编辑类定义”时,系统会提示我再次创建它。我删除了现有文件,并在出现提示时从头开始重新创建它,但这没有帮助。Flash CS5 仍然尝试重新创建该文件。

有任何想法吗?

再见。


我正在使用 Flash Pro CS5 在 Flash Builder 4 中编程。

我编写了一个小应用程序来测试调用堆栈的跟踪,使用 swc 文件与 flash\as3 项目共享 flash 资源,访问共享资源并修改它们的属性。

当我单击 Ctrl+F11 运行应用程序时,一切正常。swf 加载并运行 as3 代码来完成一些工作。

当我尝试发布应用程序时(在发布设置中导出 SWC 已关闭),我得到了一个运行 swf 的 air 应用程序,但 as3 代码似乎并没有完全运行。

为什么 AS3 代码不运行?

我在以下位置发布了该项目的 zip:[链接不再可用]

我应该提一下:如果您按照我发布的方式运行 swf,您将看到两个方块在 Flash 中移动。如果您从 flash builder 运行项目,您将看到一辆载有两个人的汽车,其 alpha 设置为 0.5 左右。如果 AS3 不运行,这些图形将不会出现。

非常感谢你的帮助。

再见,RaamEE

4

1 回答 1

0

嗯,和往常一样,再次查看和思考后发现我原来的问题与项目的发布无关,使用swc文件或无法将Flash CS5和FlashBuilder中的文档类链接到同一个文件.

问题在于我将调用堆栈跟踪到输出的方式。

在我的代码中,我调用以下方法 http://www 。动作脚本。org/forums/showthread.php3?p=763398

私有函数调用方法(调用者:int = 1):字符串 { var 模式:RegExp = /at.* ^) /gim; 尝试{抛出新的错误();} catch (e:Error){ var result:String = e.getStackTrace().match(pattern)[caller]; 返回结果.replace(pattern, "$1"); }
返回空值;}

现在我需要弄清楚为什么在这里捕获错误会导致 AS3 代码被抛出。

如果我不使用此功能,程序将照常继续(堆栈的跟踪输出除外)。

任何想法为什么这个函数会导致我的代码停止工作?

于 2010-06-27T08:54:56.250 回答