如何发布将使用我的as3代码运行的air \ swf应用程序?

时间:2010-06-24 15:29:58

标签: flash actionscript-3 flash-builder publish

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

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

似乎我在Flash Pro CS5中的fla文档类没有正确链接到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的空中应用程序,但是as3代码似乎并没有完全运行。

为什么AS3代码不运行?

我发布了项目的拉链:[链接不再可用]

我应该提到: 如果你在发布它时运行swf,你会看到两个正方形在闪光灯中移动。 如果您从Flash Builder运行该项目,您将看到一辆车中有两个人,其alpha设置为0.5左右。如果AS3未运行,则不会显示这些图形。

非常感谢你的帮助。

再见   RaamEE

1 个答案:

答案 0 :(得分:0)

好吧,像往常一样,经过深思熟虑后,我发现原来的问题与项目的发布,swc文件的使用或者无法将Flash CS5和FlashBuilder中的文档类链接到同一个文件。

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

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

private function callingMethod(caller:int = 1):String {  var pattern:RegExp = /at.*^)/gim;  尝试{   抛出新的Error();  }  catch(e:错误){   var result:String = e.getStackTrace()。match(pattern)[caller];   return result.replace(pattern,“$ 1”);  }
 return null; }

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

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

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