2013-09-16 130 views
0

我最近开始使用Flash Builder在Flash中编程。来自JavaScript我习惯于一个“交互式”控制台(Chrome的默认控制台) - 通过交互式我的意思是我可以例如单击一个对象来显示它的属性,并在运行时执行代码。它还显示了“trace()”语句来自哪个文件和哪一行。交互式Flash控制台

这是可能的闪存? 我已经尝试过“FlashFireBug”和“Vizzy”,但没有运气。

回答

0

您可以在某种程度上做到这一点。 Flash Builder基于Eclipse,因此它默认安装了广泛的调试框架。要做任何事情,首先需要插入一个断点(双击一行左侧的灰色条,或右键单击>添加断点)。与在开发控制台中的JS一样,这将停止代码的执行,并允许您一步一步完成,另外,还可以访问“表达式”和“变量”窗格。

“变量”窗格使您可以访问断点处行范围内的所有对象。有了这个,你可以查看每一个对象的每个属性。您也可以将这些属性更改为不同的值。然而,这跟JS控制台不一样好,因为AS3的类型有多严格。您可以更改的内容有限,这仅仅是原始数据类型:数字,字符串,数组,对象。除此之外,我不相信你可以改变价值观。

“表达式”窗格使您能够调用属性或运行表达式并获取该值的完整读数(因此您无需挖掘对象,只需调用它即可)。这又是有限的。您在此窗格中所做的事实不会改变任何内容。你可以运行一个函数并返回值,但它不会修改程序中的任何内容。

你可以输入控制台本身,但它什么都不做。

据我所知,没有办法获得跟踪位置。我一般做任何痕迹,将留在原地的时间,像这样长时间:

trace("[ClassName] trace output"); 

这样,我至少知道它是来自哪个类。如果您创建自己的跟踪函数(最可能使用静态方法),您也可以自动执行该位。除此之外,我认为你不能做更多。

JS和AS3的主要区别在于AS3是一种编译语言。很多代码实际上是在编译时运行和计算的,所以在运行时不需要做什么。 JS在运行时会运行所有内容,这就是为什么您可以修改开发工具中的代码并调用它,并执行更改。就我所知,不幸的是,由于这种限制,你所寻求的对AS3来说根本不可能。

相关问题