我想在我的MacBook上进行一些Flash开发,利用Flex 3 SDK将Actionscript 3编译成SWF电影.
我如何设置我的Mac来做到这一点?
我还想了解flash编译器如何将包名称解释为目录结构.
我在高中时参加过Flash课程,但它非常依赖Adobe Flash IDE的使用,并且非常注重图形开发,而不是编程和OOP.
我想,例如,有一个Application类,它将作为舞台,以及多个其他AS3类作为其他MovieClip,Sprite等.当我构建/编译时,项目目录中的所有类都应该构建到单个.swf文件.
这种情况是否现实?可实现的?如果是这样,我该如何到达那里?
谢谢!
你的技术背景奥斯汀是什么?如果你来自纯艺术背景,那么解释你需要的一切可能会有点困难.
首先,您需要下载Flex SDK.当您解压缩从下载中获得的目录时,您将看到一个文件夹bin
.bin中有许多可用于编译Flex的可执行文件.你想要的那个叫mxmlc
.您可以将其链接到/ usr/local/bin或只是将文件夹添加到PATH.
如果您创建一个简单文件:
package { import flash.display.Sprite; public class TestSWF extends Sprite { public function TestSWF() { } } }
保存在任何地方(我将使用/ tmp/flash /)作为TestSWF.as
从终端命令提示符下键入:
mxmlc TestSWF.as
你会看到输出:
Loading configuration file ...... /private/tmp/flash/TestSWF.swf (561 bytes)
要编译另一个文件,请创建另一个目
mkdir model
在名为的新模型目录中创建一个新文件 TestModel.as
package model { import flash.display.Sprite; public class TestModel extends Sprite { public function TestModel() { } } }
请注意包定义如何具有名称model
,目录名称也是模型.这就是包的工作原理.包名称与目录名称匹配.如果你深入到目录(例如model/helper/FileLoader.as),那么包名称会切换目录/
一段时间(例如import model.helper.FileLoader)
将TestSWF更改为:
package { import flash.display.Sprite; import model.TestModel; public class TestSWF extends Sprite { public function TestSWF() { var model:TestModel = new TestModel(); } } }
再次运行:
mxmlc TestSWF.as
你会看到输出:
Loading configuration file ...... /private/tmp/flash/TestSWF.swf (561 bytes)
mxmlc将自动找到类model.TestModel,因为它默认包含类路径中的主文件根目录.
这是编译文件的最基本的可能方法.它将用于测试,游戏和非常小的项目.如果您计划开发专业或非常大的项目,我建议使用更好的IDE(例如Flex Builder)或至少一个体面的构建系统(例如ant).Flex Builder或其他Flex特定IDE的主要优点是它们隐藏了构建/编译软件时常见的复杂性.