【转贴】 Flex 预编译处理 与 手机项目、Web项目、Air项目自由转换
原文连接: http://bbs.9ria.com/forum.php?mod=viewthread&tid=263350#lastpost
由于这个论坛不稳定,所以转到这里来,这个帖子蛮有用的。
《 Flex 预编译处理 与 手机项目、Web项目、Air项目自由转换》
作者:七夜
QQ:1016519665
一、flex预编译处理
a. 先随便建个项目,不论手机项目、web项目、还是air项目。(这个自己建个吧,我就不多说了)
b. 新建一个包compile, 里面放个xml格式文件,我们就叫 config.xml 好了,名字随便起啊。
config.xml的内容如下:
<?xml version="1.0"encoding="utf-8"?>
<flex-config>
<default-size >
<width>1250</width>
<height>700</height>
</default-size>
<default-frame-rate>24</default-frame-rate>
<default-background-color>0x000000</default-background-color>
<compiler>
<optimize>true</optimize>
<define>
<name>CONFIG::debug</name>
<value>true</value>
</define>
<define>
<name>CONFIG:desktopOrMobile</name><!-- -->
<value>false</value>
</define>
</compiler>
<metadata>
<title>QiyeTest</title>
<description>Qiye.com</description>
<publisher>Qiye</publisher>
<creator>Qiye</creator>
<language>EN</language>
</metadata>
</flex-config>
现在我解释一下这个config.xml的作用。
1.<width>1250</width> 指的是默认宽了,<height>700</height>指的是默认高了。到时候你换些值,清理一下项目,再debug看看就知道了。
2.<default-frame-rate>24</default-frame-rate>指的是默认多少帧。我填了24,你也可以改成其它的,看需求了。
3.<default-background-color>0x000000</default-background-color>指的是默认背景底色为黑色。你也可以改成你想要的颜色。
4.下面关键的来了:
<define>
<name>CONFIG::debug</name>
<value>true</value>
</define>
这个是你自己可以设定的,相当于开关吧。一定要是这种结构的,true就是开的意思,false是关的意思了。
我们就可以在 xxx .as 文件里面使用了.
private function init():void
{
CONFIG::debug{
Tool.isDebug = true;//设置一些属性
doSomething();//也可以做一些函数处理
}
}
<value>true</value> 当这个值为true的时候,CONFIG::debug{ }里面的内容就会执行,为false的时候就不执行。
要想编译器去编译这个文件,你还得做一件事情。
1. 右击你的项目,点击属性
2. 点击 ActionScript编译器
3. 在附加的编译器参数(I): 下面的框内写入一句代码:
-locale en_US -load-config+=compile/config.xml 然后点击确定。
这句话的意思就是告诉编辑器编译项目 按照你 compile文件夹下的config.xml配置内容编译你这个项目。
讲了这么多,也许你会说,这个有个屁用啊。
好,下面我讲下哪些情况下需要用到。
1. 我们都知道trace()不能多,代码里面很多trace说不定就会很消耗,但我们又想做项目的时候debug用它,发布出去正式版的时候不执行这些trace。
那我们就用到上面的方法了,我们自己写个类似trace的类。
package com.qiye
{
public class Tool
{
public static var isDebug:Boolean = false;
public function Tool()
{ } public static functionTrace(value:Object):void
{
if(isDebug) trace(value);
}
}
}
然后:
CONFIG::debug{
Tool.isDebug = true;
}
我们只要修改 config.xml 里面
<define>
<name>CONFIG::debug</name>
<value>true</value>
</define>
true 或是false 就好了。当然这个例子举得不太好。
我只是为了阐述一下怎么使用。
2. 多平台的时候:
<define>
<name>CONFIG:esktopOrMobile</name><!-- -->
<value>false</value>
</define>
比如说手机上运行、web运行、air运行的一些开关。ANE 的开关。
3. 平台接口,比如说37wan 、各种wan的不同接口,你也可以设置一些开关。
4. 更多,你自己想吧。。我只提了一些。。。至于怎么用就看你了
<metadata>
<title>QiyeTest</title>
<description>Qiye.com</description>
<publisher>Qiye</publisher>
<creator>Qiye</creator>
<language>EN</language>
</metadata>
这些我就不想说什么了,除非你e文比我还烂。
总结:
1. 新建一个包compile, 里面放个xml格式文件,我们就叫 config.xml 按照我给的格式写,照葫芦画瓢好了。
2. 右击你的项目,点击属性,点击 ActionScript编译器 ,在附加的编译器参数(I): 下面的框内写入一句代码 -locale en_US -load-config+=compile/config.xml 然后点击确定。
3. 需要注意的时候,每次修改完 config.xml 参数的时候,最好清理一下项目,重新编译一下。
4. 你也可以设置多个config.xml的文件,比如叫config_ios.xml 、config_andriod.xml 、config_web.xml 等等,只要把 编译参数 ,第二步 里面的
-locale en_US-load-config+=compile/config.xml 改成
-locale en_US-load-config+=compile/config_xxxx.xml 就好了。
二、Air项目、Web项目、手机项目 自由切换
1.一套源码实现Air项目、Web项目、手机项目 自由切换
只要把对应的Air项目、Web项目、手机项目下的.actionScriptProperties .projec 替换到 这套源码 就可以了。
2. 注意 如果是手机项目 、或是 air项目的转换 要修改 项目里面的xxx-app.xml ,换到对应的环境xxx-app.xml 。 xxx 是默认启动应用 .as文件的名字。
例子:比如你的一个项目叫aaa,默认启动应用 aaa.as , 那对应的应该就是aaa-app.xml
也许你还不大理解,但你试着去做,就会知道,其实很简单,很方面,记住我说的注意点。遇到问题了,再回来看一遍。
好了,说了这么多,我也累了。大家试试吧~
【转贴】 Flex 预编译处理 与 手机项目、Web项目、Air项目自由转换的更多相关文章
- 【转】预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
用VC++ 2008 编写C语言程序,编译出现错误: 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) 解决方法: 建工程时 建立空项目 或者在项目设置里关闭预编 ...
- VS2005 MFC 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C1853 编译器错误:fatal err ...
- 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)(转)
用VC++ 2008 编写C语言程序,编译出现错误: 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) 解决方法: 建工程时 建立空项目 或者在项目设置里关闭预编 ...
- mysql预编译
一.背景: 用Mybatis+mysql的架构做开发,大家都知道,Mybatis内置参数,形如#{xxx}的,均采用了sql预编译的形式,举例如下: <select id=”aaa” param ...
- VisualStudio“在查找预编译头使用时跳过"解决方案
解决方案1:确保所有的cpp文件都包含了stdafx.h,且确保stdafx.h是第一个#include指令(经尝试,可行) 解决方案2:去掉预编译头 项目->属性->配置属性->c ...
- 解决Visual C++工程中包含 .c 或cpp文件编译时产生的.pch预编译头错误(C1853)的办法
2014-01-17 23:36 5128人阅读 评论(1) 收藏 举报 分类: 资料集(282) 版权声明:本文为博主原创文章,未经博主允许不得转载. 之前使用网上的一个开源代码,被封装成Windo ...
- 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)转
vs2010的mfc项目中编译c语言出现错误: "...预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)" 解决方法: 建工程时 建立空项目 ...
- VS中c++文件调用c 函数 ,fatal error C1853 预编译头文件来自编译器的早期版本号,或者预编译头为 C++ 而在 C 中使用它(或相反)
出现错误:error C1853: "Debug\ConsoleApplication1.pch"预编译头文件来自编译器的早期版本号.或者预编译头为 C++ 而在 C 中使用它(或 ...
- ASP.NET Web项目发布选项:“允许更新此预编译站点” 详解
目录 #使用visual studio 发布web项目 #"允许更新此预编译站点" 选项的意义 1.选中 "允许更新此预编译站点" 2.不选中 "允许 ...
随机推荐
- 常用 SQL语句
Oracle 查看所有表的名字: select table_name from user_tables; 查询特定表的名字:select * from (select table_name t fro ...
- zf-关于更换页面,的各种问题。
问题1:找不到common 这个变量(集合)与layer这个js文件. 这里的common 就是一个方法集合,声明var common; common.abc = function(参数1,参数2, ...
- # 泰语字符串字符分割 --- UTF-8编码格式
1.泰语编码格式 泰语用的编码格式是:ISO 8859-11,这个是Latin编码系列,是从"ISO-8859-1"发展过来的,采用的是8bit一个字,所以泰语中的英文字母或者数字 ...
- PHP AJAX技术
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. AJAX 通过在后台与服务器进行少量数据交换,使网页实现异步更新.这意味着可以在不重载整个页面的情况下,对网页的某些部分进行更 ...
- ubuntu12.04 android studio 安装
ubuntu12.04 android studio 安装 分类: android 2014-02-17 15:57 10756人阅读 评论(0) 收藏 举报 1.下载JDK ,我下载的是jdk-7u ...
- HDU 1890 Robotic Sort | Splay
Robotic Sort Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) [Pr ...
- Ng-model undefined in the controller
这个问题是我最近在项目中碰到的,暂时没找到原因,找到一个解决方法,还多请大神指教,在Stack Overflow找到解决方法: I am having some "problems" ...
- uploadify在IE6下的问题
上传插件uploadify,在IE8下运行的没有问题.转到IE6下时,就不能上传了. 把浏览器的“检查所存网页的较新版本” 设置为“每次访问网页时 ”就没有问题,如果设置为“自动 ”,IE6下就不能上 ...
- IPSec VPN实验
IPSec VPN实验 实验拓扑: 实验目的:掌握IPSec VPN原理 掌握site-to-site VPN配置 IPSec配置参数: IKE policy isakmp key 转换集 加密算法 ...
- 休眠唤醒不断开wifi.
文件: /home/mxy/code/v1/frameworks/base/services/java/com/auto/opandora/Opandora.java 屏蔽掉: 957 SetWifi ...