Flash中的跟踪输出在Firefox,Linux

我正在开发一个我在Linux桌面上的服务器上运行的应用程序。 由于Flash在Linux上的缺点(阅读:太难了),我正在开发应用程序的(小)闪光部分在Windows中,这意味着有很多挫折来回。 现在我试图使用闪光灯捕捉闪光部分的输出,这也是非常困难的。 有没有其他的方式可以监控linux上trace的输出? 谢谢…

希望这也有帮助(为了谷歌搜索我来自):

为了进行跟踪,您需要从http://www.adobe.com/support/flashplayer/downloads.html上下载Flash Player的调试版本(具体查找“调试器”版本 – 一看就很难察觉)

然后在你家的mm.cfg文件中包含

ErrorReportingEnable=1 TraceOutputFileEnable=1 MaxWarnings=50 

然后,你很好去 – 重新启动浏览器。 当痕迹开始填写时,您会找到日志文件

 ~/.macromedia/Flash_Player/Logs/flashlog.txt 

就像是

 tail ~/.macromedia/Flash_Player/Logs/flashlog.txt -f 

应该足以跟踪痕迹。

我已经使用了多年的另一个令人难以置信的简单的解决方法是直接在swf中创建一个输出模块。 所有这一切意味着一个键盘快捷键,将一个MovieClip连接到一个文本框。 我所有的痕迹都会转到这个文本框,而不是输出窗口(或者除了输出窗口)。 多年来,我已经完善了它,使得窗口可以拖动,可调整大小等等。但是我从来不需要任何其他的简单日志记录方法,并且它在所有平台上都是100%可靠和可重用的。

[编辑 – 回应评论]有没有像JavaScript的alert()函数的警报。 但是使用内部文本域就是这么简单:

ACTIONSCRIPT 1版本


(见底部的注释)

 /* import ExternalInterface package */ import flash.external.*; /* Create a movieclip for the alert. Set an arbitrary (but very high) number for the depth * since we want the alert in front of everything else. */ var alert = this.createEmptyMovieClip("alert", 32000); /* Create the alert textfield */ var output_txt = alert.createTextField("output_txt", 1, 0, 0, 300, 200); output_txt.background = true; output_txt.backgroundColor = 0xEFEFEF; output_txt.selectable = false; /* Set up drag behaviour */ alert.onPress = function() { this.startDrag(); } alert.onMouseUp = function() { stopDrag(); } /* I was using a button to text EI. You don't need to. */ testEI_btn.onPress = function() { output_txt.text = (ExternalInterface.available); } 

注意:这对于AS1来说工作正常,并且可以很好地转换成AS2(如果这样做最好使用强数据类型,但不是严格要求)。 它应该在Flash Player 8-10中工作。 ExternalInterface被添加到Flash 8中,所以它在以前的播放器版本中不起作用。

ACTIONSCRIPT 3版本


 var output_txt:TextField = new TextField(); addChild(output_txt); output_txt.text = (String(ExternalInterface.available)); 

如果你想稍微强调一下:

 var alert:Sprite = new Sprite(); var output_txt:TextField = new TextField(); output_txt.background = true; output_txt.backgroundColor = 0xEFEFEF; output_txt.selectable = false; output_txt.width = 300; output_txt.height = 300; alert.addChild(output_txt); addChild(alert); alert.addEventlistner(MouseEvent.MOUSE_DOWN, drag); alert.addEventlistner(MouseEvent.MOUSE_UP, stopdrag); output_txt.text = (String(ExternalInterface.available)); function drag(e:MouseEvent):void { var alert:Sprite = e.currentTarget as Sprite; alert.startDrag(); } function stopdrag(e:MouseEvent):void { var alert:Sprite = e.currentTarget as Sprite; alert.stopDrag(); } 

[/编辑]

如果在运行时只需要跟踪输出,则可以在Firefox中使用Firebug,然后使用Flash.external.ExternalInterface调用Firebug提供的console.log()Javascript方法。

我多次使用这个策略取得了很大的成功。

Thunderbolt是一个伟大的记录框架内置萤火虫支持。

我在linux上使用flex编译器来构建动作脚本文件,[embed(source =“file”)],包括图像和字体在内的所有资源,我发现linux上的actionscript开发非常友好。

然后再次,我最感兴趣的是闪光已成为Unix的友好,作为反其道而行之:)

要实现FlashTracer,请前往以下地址,并确保您有最新的文件。 http://www.sephiroth.it/firefox/flashtracer/ 。 安装并重新启动浏览器。

转到adobe并获得最新的Flash调试器。 下载并安装FlashTracer是一个Firefox附加。

现在firefox有最新的Flash调试器和闪光灯跟踪器,我们需要找到mm.cfg

在PC上的位置: C:\Documents and Settings\username

mm.cfg里面应该是:

 ErrorReportingEnable=1 TraceOutputFileEnable=1 MaxWarnings=100 //Change to your own liking. 

一旦保存,打开Firefox,通过前往工具>闪光灯追踪器前往闪光灯追踪窗口。 在弹出的面板右下角有两个图标,点击扳手,确保路径设置为保存日志文件的位置。 同时检查闪光灯是否打开,底部有一个播放/暂停按钮。

我目前使用这个实现,并希望它适合你。 Flash Tracer有点旧了,但是可以和最新版本的FireFox一起使用。 我使用FireFox 3.0.10。