At Clock we typically spend our time developing JavaScript and PHP, however, occasionally Flash presents itself as the most suitable platform for certain components.  To avoid the need of installing a separate authoring environment (and even the license fees associated with some of the official Adobe IDE's) I sought to empower my text editor Sublime Text 2 with the ability to compile SWF's.

Choosing to use a minimalist development environment is invariably going to bring about some limitations, of these I find the most noticeable to be the lack of debugging tools. While I will suggest some means to allow you to receive trace statements to debug your application, if you're developing large and complex applications you may want to consider some other free alternatives: Flash Develop.

Download Flash Compiler and .swf viewing software

If you don't have any kind of flash authoring environment installed, you're going to need to download some software:

  • A version of the Flex SDK is needed to compile your application (Version: if you're not sure, the Adobe Flex SDK is likely to be appropriate)
  • You'll probably want an SWF debug projector to enable you to run your SWF's on the desktop and provide stack trace output.
  • Additionally one of the Plugin content debuggers will be useful for access stack traces in the browser.

You'll notice that the first two of these applications don't come with any kind of installer, it's up to you where you want them, (as a Windows 7 user) I extracted them both into C:\Program Files (x86)\Flex SDK\

Configuring MXMLC as a Build System in Sublime Text 2

Now you've got your Flex SDK extracted you'll want to set it as what's known in Sublime Text as a build system.

In Sublime's menu, access: Tools > Build System > New Build System…

Replace the default build script with the following:

{
"cmd": [
"C:\\Program Files (x86)\\Flex SDK\\bin\\mxmlc.exe",
//"-o", "${project_base_name}.swf",
"${file}"
],
"selector": "source.actionscript"
}

Save this file in Sublime's ActionScript package directory, which for Windows 7 users will be located in C:\Users\[username in here]\AppData\Roaming\Sublime Text 2\Packages\ActionScript\, and restart Sublime. You should now be able to build your flash projects using F7 or Ctrl + b and using the aforementioned SWF projector you'll be able to launch your fresh SWF from your file system.

Sublime's Build System Notes

The selector option will make sublime choose our new build system automatically when you build directly from the source view of an ActionScript file. In the example above you'll see that my Windows file system requires me to escape the directory separator. You'll have to modify this path if you're on a different Operating System or you selected a different place for your Flex SDK to live. One thing which caught me out was providing additional command line parameters to Sublime, they must be provided as per the -o option above. Individual option flags and their attribute must be placed into separate elements in the cmd array for Sublime to execute them correctly. I've left in the above example as a reference to this.

Hello World

As requested, here is a little Hello World to test your compiling powers:

package {
import flash.display.Sprite;
import flash.text.TextField;
// import flash.external.ExternalInterface; public class HelloWorld extends Sprite { public function HelloWorld () { // ExternalInterface.call("console.log('ding')");
var mytextfield:TextField = new TextField();
mytextfield.text = "Hello World!";
addChild(mytextfield);
}
}
}

Debugging Your Flash Applications in a JavaScript Console

Now we've cut the Flash IDE out of the equation, you've actually lost your Flash console meaning your trace() statements aren't going to get shown anywhere, even the flash player debuggers can only output stack traces. The most suitable way I found to output debugging information was by embedding my .swf in a webpage and outputting data to the browsers console. By utilising Flash's ExternalInterface class you're able to invoke javascript functions, more specifically in Firefox the FireBug console, or Chrome's native javascript console.

After importing the class into your application you can simply call the console like so: ExternalInterface.call("console.log('ding')");

This does, however, rely on the fact that you're running your SWF in a browser and importantly that your console is loaded before you call it (Embedding usingSWFObject will help avoid errors relating to this).

If you're Debugging needs go very far beyond this, then its probably time to install a more integrated development environment with native debugging and profiling support.

Refrences and Recommended IDE's

COMPILING ACTIONSCRIPT 3.0 WITH SUBLIME TEXT 2的更多相关文章

  1. kali linux 2.0安装sublime text 2

    第一种方法:Download the Sublime Text 2 & Extract it:32位:$ wget http://c758482.r82.cf2.rackcdn.com/Sub ...

  2. Sublime Text 全程指引 by Lucida

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 博客园:@figure9 原文链接:http://zh.lucida.me/blog/sublime-text-complete ...

  3. centos6.5安装sublime text 2

    今天在看ueillemmx的博客的时候,看到一神级编辑器,随即安装试了试,我了个去,果然好用,自动补全,自动对齐,样样精通啊! 下面是根据ueillemmx的步骤在CentOS上安装Sublime的过 ...

  4. Sublime Text 全程指南

    摘要(Abstract) 本文系统全面的介绍了 Sublime Text,旨在成为最优秀的 Sublime Text 中文教程. 更新记录 2014/09/27:完成初稿 2014/09/28: 更正 ...

  5. Sublime Text使用教程【转】

    本文转载自:http://lucida.me/blog/sublime-text-complete-guide/ 摘要(Abstract) 本文系统全面的介绍了 Sublime Text,旨在成为最优 ...

  6. 右键菜单添加程序,指定图标, Notepad2、Sublime Text 2

    右键添加Sublime Text 打开方式 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\Sublime Text] ...

  7. [笔记]--Ubuntu安装Sublime Text 2

    sublime text 2 有两种安装方式,一种是添加软件源,然后用命令安装.另外一种是下载安装包.解压手动安装.Sublime Text 2 入门及技巧 一.下载安装 1.在Sublime Tex ...

  8. 给sublime text添加ubuntu launcher快捷方式

    1.下载sublime text 2文件,解压并复制到/opt目录,文件夹名称不要含有空格 2.在/usr/share/applications目录下新建sublime_text.desktop文件 ...

  9. ubuntu 下添加sublime text 启动图标

    ubuntu下无快捷方式一说,如果想快速打开sublime Text,可以创建sublime text 启动图标 1. 创建空白文档 sublime.desktop,注意权限 $ vi /usr/sh ...

随机推荐

  1. linux shell 脚本攻略学习11--mkdir和touch命令详解

    一.创建目录(mkdir命令详解) amosli@amosli-pc:~/learn$ mkdir dir amosli@amosli-pc:~/learn/dir$ mkdir folder amo ...

  2. 树莓派进阶之路 (005) - 树莓派Zsh安装脚本(原创)

    zsh.sh #!/bin/bash cd #安装zsh sudo apt-get install zsh #查看zsh cat /etc/shells #更改zsh chsh -s /bin/zsh ...

  3. Entity Framework中实体模型命名空间的问题

    在添加一个实体数据模型的时候(就是扩展名为edmx那位)属性里明明设置了自己的命名空间,但是后台的Designer.cs命名空间生成规则却是项目的默认命名空间加edmx文件所在文件夹的名称, 是BUG ...

  4. 【C语言】练习3-3

     题目来源:<The C programming language>中的习题P49  练习2-9: 编写函数expand(s1, s2),将字符串s1中类似于a-z一类的速记符号在字符串s ...

  5. 关于VC++的增量链接(Incremental Linking)

    增量链接(Incremental Linking)这个词语在使用Visual C++时经常会遇到(其实不只是VS系列,其它链接器也有这个特性), 就比如经常遇到的:上一个增量链接没有生成它, 正在执行 ...

  6. android在不加载图片的前提下获得图片的宽高

    public static int[] getImageWidthHeight(String path){ BitmapFactory.Options options = new BitmapFact ...

  7. golang学习笔记 ---dup

    对文件做拷贝.打印.搜索.排序.统计或类似事情的程序都有一个差不多的程序结构:一个处理输入的循环,在每个元素上执行计算处理,在处理的同时或最后产生输出.我们会展示一个名为 dup 的程序的三个版本 p ...

  8. Easyui 中 Tabsr的常用方法

    注:index必须为变量 tab页从0开始 //新增一个tab页var index = 0;$('#tt').tabs('add',{ title: 'Tab'+index, content: '&l ...

  9. 基于 Transaction 类的分布式显式事务

    自.NET2.0以来增加了System.Transactions命名空间,为.NET应用程序带来了一个新的事务编程模型. 这个命名空间提供了几个依赖的TransactionXXX类.Transacti ...

  10. [转]byte为什么要与上0xFF?

    无意间翻看之间的代码,发现了一段难以理解的代码. byte[] bs = digest.digest(origin.getBytes(Charset.forName(charsetName))) ; ...