杂谈:用 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的方法很简单网络上有一大堆,配置好就行,一定要注意:如果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

杂谈:用 Sublime Text 2 写 ActionScript3的更多相关文章
- 在 ubuntu 下优雅的使用 Sublime Text 3 写 Python
此文章非技术文,就是一些对于 Sublime 俺之前经常用的 方法(快捷键 )和 工具 有一些工具俺也用过,但是效果不太好,可以说跟shi 一样,可能每个人的用处不一样,咱就不提了,免得招 来口舌之争 ...
- Sublime Text 3 配置和使用方法
下载: Sublime Text 3 官方下载地址 Sublime Text 3 汉化破解版 资料: Sublime Text 非官方文档 技巧 -用户或-User后缀的菜单项,其对应的配置文件都 ...
- 关于sublime text 3 pylinter的错误提示
刚开始用windows下sublime text 3写python,搭建完以后,按ctrl+b可以build,然后保存时候一直提示. Fatal pylint error: x:/python: ca ...
- 让你的sublime text写C代码 (sublime text 2 配置构建C开发环境)
原则 1. 首先你要配置能够编译C++/C环境 2. window中配置该执行环境的环境变量,能够全局使用 3. sublime Text创建新的构建机制.并设置用改全局编译环境 具体过程 能够编译C ...
- 使用Sublime Text 写Processing
本来以为是个很简单的事情,没想到一波三折~ 1.下载Sublime Text 3(中文版)并且安装,没啥好说的 2.打开[工具 - 命令面板 - install package],接着就报错了 “Th ...
- sublime text帮你更好的写python
在Google的Python风格指南中,有这样的要求: 用4个空格来缩进代码 但是每次在敲代码的时候,用一个tab确实比敲四次空格方便的多.令人欣慰的是sublime text 2能够把tab转换成4 ...
- 前端工程师手中的Sublime Text
原文地址:http://css-tricks.com/sublime-text-front-end-developers/ 我的Blog:http://cabbit.me/sublime-text-f ...
- 如何优雅地使用Sublime Text
Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受.相比于难于上手的Vim,浮肿沉重的Eclip ...
- Sublime Text 3 全程详细图文原创教程(持续更新中。。。)
一. 前言 使用Sublime Text 也有几个年头了,版本也从2升级到3了,但犹如寒天饮冰水,冷暖尽自知.最初也是不知道从何下手,满世界地查找资料,但能查阅到的资料,苦于它们的零碎.片面,不够系统 ...
随机推荐
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- Microservice Anti-patterns
在最近的一次Microservices Practitioner Summit中,原Netflix工程师介绍了一种越来越常见的对Microservice的误用.简单地说,大家在搭建一个基于Micros ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- 学习ASP.NET Core,怎能不了解请求处理管道[1]: 中间件究竟是个什么东西?
ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 "通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流 ...
- JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题
1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...
- 多线程条件通行工具——AbstractQueuedSynchronizer
本文原创,转载请注明出处! 参考文章: <"JUC锁"03之 公平锁(一)> <"JUC锁"03之 公平锁(二)> AbstractOw ...
- PHP获取上个月最后一天的一个容易忽略的问题
正常来说,PHP是有一个很方便的函数可以获取上个月时间的 strtotime (PHP 4, PHP 5, PHP 7) strtotime - 将任何英文文本的日期时间描述解析为 Unix 时间戳 ...
- js从数组中随机取出不同的元素
前言 上午处理个需求需要从一个总数组中随机取出不同的元素.共使用两个方法.第一种方法较常规,经测试有bug,数据量大以后随机几次返回的对象直接是function而不是object. 当然简单数据类型应 ...
- 消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ(译文)
Dissecting Message Queues 概述: 我花了一些时间解剖各种库执行分布式消息.在这个分析中,我看了几个不同的方面,包括API特性,易于部署和维护,以及性能质量..消息队列已经被分 ...
- [算法]——快速排序(Quick Sort)
顾名思义,快速排序(quick sort)速度十分快,时间复杂度为O(nlogn).虽然从此角度讲,也有很多排序算法如归并排序.堆排序甚至希尔排序等,都能达到如此快速,但是快速排序使用更加广泛,以至于 ...