我将利用这一事实,即尚未回答此讨论,以便添加一些信息并缩小我的问题范围。
您仍然可以从以下链接下载我的项目。
似乎我在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
答案 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代码被抛出。
如果我不使用此功能,程序将继续正常运行(堆栈的跟踪输出除外)。
为什么这个函数导致我的代码停止工作的任何想法?