您的位置:首页 > 其它

杂谈:用 Sublime Text 2 写 ActionScript3

2015-10-13 15:57 435 查看

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

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



配置mxmlc环境变量

  新增环境变量
MXMLC_HOME
,指向的路径为
Flex
SDK
路径。并把
MXMLC_HOME
加入系统
Path
变量内。如图。





  配置好环境变量后保存并运行
cmd
控制台,输入
mxmlc
回车,看是否如下图成功,如果不是那么请检查环境配置。



Sublime Text安装插件

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


Package Control:Install Package





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






创建Sublime Text Build文件


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





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



  这里为了方便我写了一个批处理文件,执行
Sublime Text
在编译
as
文件时产生的处理。

在上面的目录下继续新建一个
runFlash.bat
文件,写入

@ECHO Compiling %~nx1……
E:\flex_sdk_4.6\bin\mxmlc.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.6\frameworks
文件夹下把
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
编码保存文件。因为在
as
trace
打印出来的是以
utf-8
编码的,所以为了避免乱码,安装
ConvertToUTF8
插件后保存文件为
utf-8
格式。





选择
Build System




ctrl+b
运行下文件:





OK,到目前为止,已经可以成功运行!如果代码有问题会在下方控制台提示。

查看ActionScript3的trace打印信息

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

C:\Users\Administrator\AppData\Roaming\Macromedia\Flash Player\Logs
文件夹下看到一个文件flashlog.txt




这个文件就是
trace
的输出



  注意:当新的
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:\000\%name%.as
set libpath=D:\000\lua-alchemy-v0.3.2.swc
set outfile=D:\000\%name%.swf
@echo Compiling %name%……
E:\flex_sdk_4.6\bin\mxmlc.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.as
ctrl+b


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: