杂谈:用 Sublime Text 2 写 ActionScript3

Sublime Text这是程序员最喜爱的编辑器,说说在win7下使用Sublime Text来编写as文件以及编译与运行swf。

准备工作

 1、Sublime Text 2
 2、Java 的JDK(jdk-8u31-windows-i586.exe官网下载32位最新的版本)
 3、Flex的SDK(flex_sdk_4.6)
 4、Flash Player debug 

  
  OK,下载Java的JDK后并安装,配置JDK的方法很简单网络上有一大堆,配置好就行,一定要注意:如果FlexSDK是用的32位的那么JavaJDK也要使用32位的,64位的也一样都要一致,不然会发生“ cound not find a JVM ”的错误。在解压后的flex_sdk_4.6/bin文件夹下有jvm.config文件,它对应mxmlc.exe。修改其中的java.home,路径是安装JavaJDK的位置,注意“/”的方向。

  在解压后的flex_sdk_4.6/bin文件夹下有jvm.config文件,它对应mxmlc.exe。修改其中的java.home,路径是安装JavaJDK的位置,注意“/”的方向。

x

配置mxmlc环境变量

  新增环境变量MXMLC_HOME,指向的路径为FlexSDK路径。并把MXMLC_HOME加入系统Path变量内。如图。
x
x
  配置好环境变量后保存并运行cmd控制台,输入mxmlc回车,看是否如下图成功,如果不是那么请检查环境配置。
x

Sublime Text安装插件

  安装插件步骤:ctrl+shift+p打开插件安装列表,并输入

Package Control:Install Package

x

  然后安装插件ActionScript 3和插件ConvertToUTF8
x
x

创建Sublime Text Build文件

Tools ->Build System -> New Build System...

x

  先不写入信息,保存文件到插件文件夹下

x

  这里为了方便我写了一个批处理文件,执行Sublime Text在编译as文件时产生的处理。
在上面的目录下继续新建一个 runFlash.bat文件,写入

@ECHO Compiling %~nx1…… 
E:flex_sdk_4.6inmxmlc.exe %~nx1 -debug
start %~n1.swf

“-debug”是开启日志log的记录用于检测trace信息)

  然后在ActionScript 3.sublime-build文件内写入

{
"cmd": ["C:\Program Files (x86)\Sublime Text 2\Data\Packages\ActionScript 3\runFlash.bat","${file}"],
"encoding": "GBK"
}

  设置flex-config.xml ,在E:flex_sdk_4.6frameworks文件夹下把xml里面

<static-link-runtime-shared-libraries>false</static-link-runtime-shared-libraries>
改为
<static-link-runtime-shared-libraries>true</static-link-runtime-shared-libraries>

不然会报:

警告: 此编译单元不包含在 Frame 元数据中指定的 factoryClass,无法加载配置的运行时共享库。要在没有运行时共享库的情况下进行编译,请将 -static-link-runtime-shared-libraries 选项设置为 true,或删除-runtime-shared-libraries选项。

运行swf

注意:在写as文件时要使用UTF-8编码保存文件。因为在astrace打印出来的是以utf-8编码的,所以为了避免乱码,安装ConvertToUTF8插件后保存文件为utf-8格式。

x
选择Build System
x
ctrl+b运行下文件:
x
x
OK,到目前为止,已经可以成功运行!如果代码有问题会在下方控制台提示。

查看ActionScript3的trace打印信息

  Sublime Text控制台不会显示Flash Player的打印信息。因此想要看到我们的打印位置是否被执行到改怎么办呢?好吧,其实在我们可以在

C:UsersAdministratorAppDataRoamingMacromediaFlash PlayerLogs 
文件夹下看到一个文件flashlog.txt

x

这个文件就是trace的输出

x

  注意:当新的flash 启动时,flashlog.txt文件会被重新清空!里面的内容将被删除。
如果有一个swf被运行时,flashlog.txt文件大小为0KB,这时开始打印信息,flashlog.txt文件增大。
  又一个swf被运行,这时有两个swf在运行,flashlog.txt文件将被清空为0KB,两个swf的打印信息将同时存在于flashlog.txt文件中。

  如果你在玩页游,浏览器中的swf也会显示在这里……

延伸

最佳的配置方法是:把runFlash.bat放在AS项目文件夹下,每个AS项目对应自己的runFlash.bat文件。

修改bat内容

@echo off
set name=HelloWorld
set filepath=d:00\%name%.as
set libpath=D:00lua-alchemy-v0.3.2.swc
set outfile=D:00\%name%.swf
@echo Compiling %name%…… 
E:flex_sdk_4.6inmxmlc.exe %filepath% -debug -library-path+=%libpath% -utput=%outfile%
start %outfile%

name:主文件名。 filepath:主文件路径。libpath:库文件路径也可以是存放swc的文件夹。outfile:输出文件路径)
“-library-path+=lua-alchemy-v0.3.2.swc”这个参数是导入swc库文件,在编译时会把swc库文件编译进去)

  修改ActionScript 3.sublime-build 内容

{
"cmd": ["..\runFlash.bat"],
"encoding": "GBK"
}

  这样的好处是在本项目任何文件下都能正确的执行主文件,下图在Hello.asctrl+b
x

原文地址:https://www.cnblogs.com/Richard-Core/p/Sublime-ActionScript3.html