将mxmlc.exe 编译功能加入右键

目前部署了Flex,提供主机或者虚拟主机很少,在国内尚未看到.当然你自己架设服务器不包括在内,这样意味着使用mxml在服务端实事生成swf难以实现.我们制作的Flex作品就没有使用的地方了吗?答案是否定的.


在Flex的安装目录中,在bin下面有个 mxmlc .exe,类似于javac.exe.他就是将mxml文档编译成我们需要的swf文件的工具..

在cmd中运行她..出现使用方法

Usage:  mxmlc  [-version] [-configuration path] [-flexlib path] [-libpath path] [-systemclasses path] [-g] [-O0] [-profile] [-o path] [-headless] [contextroot root] [-proxyurl url] [-proxyhttpsurl url] [-proxyallowurloverride] [-gatewayurl url] [-gatewayhttpsurl url] [-remoteallowurloverride] [-webroot directory] [-aspath path] [-genlibdir dir] [-encoding file_encoding] [-namespace uri manifestfile] [-report] [-loglevel error|warn|info|debug] [-debugpassword password] [-accessible] [-batch] foo.mxml


经过网上搜索资料..和不断的测试,终于得出最好方法,只要使用下面参数就可以编译出swf,并且可以发不到网站使用.

mxmlc .exe -proxyurl http://* mxml文档绝对路径

这样就会在同mxml目录生成同命swf文件.可以供我们使用了..


但接下来的问题是编译时如何提高效率...难道每次都要在cmd下转到Flex\bin目录下 执行编译参数吗?非也.

我们来个将 mxmlc 关联到mxml文件..只要双击目标mxml文档就可以开始编译.


1)将处理参数写入批处理..将下面代码保存为c.cmd


@echo off

D:

cd "D:\Program Files\Macromedia\Flex\bin"

:c

cls

mxmlc .exe -proxyurl http://* %1

if errorlevel=1 goto retry

exit

:retry

echo Retry Now?

pause

goto c


2)关联到mxml文档到右键菜单...将下面代码保存为mxmlfile.reg


Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\.mxml]

@="mxmlfile"


[HKEY_CLASSES_ROOT\mxmlfile]

"EditFlags"=dword:00000000

"BrowserFlags"=dword:00000008

@="Flex 文件"


[HKEY_CLASSES_ROOT\mxmlfile\Shell]

@="Compile_to_swf"


[HKEY_CLASSES_ROOT\mxmlfile\Shell\Compile_to_swf]

@="使用 Flex  mxmlc  编译"



[HKEY_CLASSES_ROOT\mxmlfile\Shell\Compile_to_swf\command]

@="\"D:\\Program Files\\Macromedia\\Flex\\bin\\c.cmd\" \"%1\""


将这几个文件放到D:\Program Files\Macromedia\Flex\bin,然后双击mxmlfile.reg,导入注册表,就可以使用了.方便快捷!

注意:本问中Flex安装在D:\Program Files\Macromedia\Flex 如果你是默认安装的话,请将盘符D改为C,或者读者自己使用的目录

=====================================================================

我没有成功 我是FB2.0.1 老出现unknown configuration variable ‘proxyurl’


使用Flex 2 Sdk编译as3.0

许多人已经知道可以使用flash9预览版编译as3.0.但可能有两种不能或不愿意使用Flash9预览版编译as3.0.比如,目前使用的是2003系统,还有一种是专门做开发的程序员.目前Flex 2的试用版有30天的限制.下面我们要说的是不使用Flex builder 2 或Flash 9 professional来编译as3.0. 

1.首先先获取编译器. 
 先要从adobe下载Flex 2 sdk编译器,如果你已装了flex builder 2 试用版.那么这个编译器就已经存于你的机器上了.它的位置为: 
C:\Program Files\Adobe\Flex Builder 2\Flex SDK 2\bin\mxmlc.exe 
如果你没装Flex builder 2 .而用的是Flex 2 sdk.路径约是这样. 
盘符>\bin\mxmlc.exe 
现在你已经知道了,我们要用的是mxmlc.exe 这个编译器. 
2.java运行环境的设置 
 mxmlc.exe编译器的运行需要java2的运行环境.所以如果你需要安装java 2 的运行环境.如果你已经安装了Flex builder 2 那么java 2的运行环境应是已配置好的.不过有一点你需要注意一下,在你的电脑上查看一下你的java 环境变量是否已经设置了,如果没有设置需要设置. 
3.拖放式编译 
如果你的java环境已经设置好了.接下来的工作就简单了.你只需要将你编写的as3类文件拖放到mxmlc.exe上,那么mxmlc.exe就会自动启用并编译as3.0类.但你会发现一个dos窗口打开,编译完成后随即关闭了.这是因为mxmlc.exe是一种command_line命今行编译.那么这里可能就会出现一种情,如果有错误提式的时候我们并不能看到它.那么我们可以用下面的方法. 
4.批处理方式编译 
在下面的附件中包有一个批处理文件和类文件,是供你测试时使用的.批处理文件名为make.bat.在使用之前,你需要打开它,在SET mxmlcPath=后输入你的mxmlc.exe所在的路径,你只需要将你编写的As3.0文件拖动到批处理文件上.你会发现出现一个dos窗口,并显示编译的过程,如果有错误也会显示在这个dos窗口中.与些同时你也会发现它自身会创建一个与你的as3.0类同名的一个批处理,如我的类名为HelloWorld.as那么它会自动生成一个批处理名字为HelloWorld.bat.假设在编译时出错,在你修改完后,你只需要再次双击执行自动生成的批处理文件HelloWorld.bat即可. 
呵呵,如果你不想用Flash9 或是没有Flex 2那就试试吧.注意一点java 2的运行环境变一定要先配置好.如果你装了Flex builder 2 你可以在安装目录下找到jre包,指向这个包也可以. 
make.bat批处理的内容: 

引用: 
@ECHO off 
REM ------Description------------------------------------------------------ 
REM Drag your .as file onto this .bat to create a new .bat that will 
REM compile and, if compilation successful, open the resulting swf. 
REM ----------------------------------------------------------------------- 

REM ------User-Variables--------------------------------------------------- 
REM mxmlcPath: Path to mxmlc command line compiler. You may need 
REM to change this based on your installation 
SET mxmlcPath="F:\flex2 and As3.0\flex_sdk_2\bin\mxmlc.exe" 

REM opts: Command line options for mxmlc if any. You can get a list 
REM of the available options from: 
REM http://livedocs.macromedia.com/labs...x/00001191.html 
REM or by running: 
REM mxmlc.exe -help list advanced details 
REM in the command prompt (properly referencing mxmlc.exe) 
SET opts=-benchmark=true -creator="Trevor McCauley" 
REM ----------------------------------------------------------------------- 

REM Generate .bat code and save to file 
ECHO @ECHO OFF ^& (IF EXIST "%%~dp0%~n1.swf" (DEL "%%~dp0%~n1.swf")) ^& %mxmlcPath% %opts% -file-specs "%%~dp0%~nx1" ^& (IF EXIST "%%~dp0%~n1.swf" (CALL "%%~dp0%~n1.swf") ELSE (PAUSE)) > "%~dpn1.bat" 
REM Immediately execute the generated bat 
@ECHO on 
CALL "%~dpn1.bat"

========
这里说的拖拽可以实现编译 但是批量我还是实现不了 好郁闷!!

转自:http://bbs.9ria.com/forum.php?mod=viewthread&tid=2708&highlight=mxmlc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值