
2007年5月4日
[Flash开发笔记] ComboBox,List组件的二个函数
[Flash开发笔记] AS中保留多少位小数的函数
[Flash开发笔记] 如何让Flash的swf文件在客户端不缓存
[Flash开发笔记] List控件--删除指定label或data的项
[Flash开发笔记] Flash 执行exe文件
posted @
2008-07-02 18:09 三千 阅读(579) |
评论 (0) |
编辑
老是有网友找我要,所以干脆放出来,这是TTGame整理的版本,其实网上一搜到处都有。排版和没有图片不理想,但也凑合能看。
陈冰那个版本我从来没见过,因为是付费的,不知道现在还是否有出售,不过我已经用不上了,FMS搞熟了就那些东西,剩下的就靠经验积累了。
fms_api_cn.rar(3.61MB)>>
posted @
2008-04-24 10:16 三千 阅读(507) |
评论 (0) |
编辑
以下二个函数,适合
ComboBox,List组件。
CheckCmbItemExists:检测某项是否已存在。有时候,需要动态向List或ComboBox
组件中添加项,但是在添加前,要事先检查是否已经存在了,避免重复添加。
SelectCmbItem:选中某项。有时候需要使用程序将List或ComboBox
组件中某项选中。
//检测某项是否已存在。
function CheckCmbItemExists(_cmb, _data) {
var l = _cmb.length;
for (var j = 0; j<l; j++) {
if (_cmb.getItemAt(j).data == _data) {
return true;
}
}
return false;
}
//选中某项。
function SelectCmbItem(_cmb, _data) {
var l = _cmb.length;
var index = 0;
for (var j = 0; j<l; j++) {
if (_cmb.getItemAt(j).data == _data) {
index = j;
break;
}
}
_cmb.selectedIndex = index;
}
posted @
2008-04-21 11:41 三千 阅读(229) |
评论 (0) |
编辑
用法
num:要处理的浮点数;
l:要保留的小数位个数;
如:getPoint(2.16832,2),输出为:2.17
注意
在使用这个函数时,要注意溢出,因为num
*Math.pow(10, l)及有可能超出了AS中浮点数所能表示的范围,从而导致你不想要的结果,另外,当输入数num比较大的时候,虽然还在浮点数表示范围内,但是小数点返回就可能不准确了,如:getPoint(12345678.123456789123, 10) ,输出结果:12345678.1234568,而不是12345678.1234567891。
posted @
2008-03-13 20:25 三千 阅读(175) |
评论 (0) |
编辑
很早以前写过一篇文章(
用C#截取指定长度的中英文混合字符串),但是对性能没有测试,有人说我写的这个方法性能有问题,后来想,可能真会有BT之需求要求传入一个几万K甚至几M体积的字符串进来,那将会影响正则Match的速度,比如文章系统中就极有可能用到,今天有点时间,就改进了一下,代码如下:
public static string getStr(string s,int l,string endStr)

{
string temp = s.Substring(0, (s.Length < l)?s.Length:l);
if (Regex.Replace(temp,"[\u4e00-\u9fa5]","zz",RegexOptions.IgnoreCase).Length<=l)

{
return temp;
}
for (int i=temp.Length;i>=0;i--)

{
temp = temp.Substring(0,i);
if (Regex.Replace(temp,"[\u4e00-\u9fa5]","zz",RegexOptions.IgnoreCase).Length<=l-endStr.Length)

{
return temp + endStr;
}
}
return endStr;
}
此修改版的方法多加了个参数"
string endStr",是指当字符串"
string s"超过指定长度"
int l"时,对结尾的处理,比如要不要加上省略号"..."或加上其它字符。
另外,添加了省略号之后,省略号长度也是算在结果的长度之内了。
用法如:
getStr("中国1中国中国中1111中国", 23,"")
//output:中国1中国中国中1111中国
getStr("中国1中国中国中1111中国", 23,"...")
//output:中国1中国中国中1111...
getStr("中国1中国中国中1111中国中国", 23,"")
//output:中国1中国中国中1111中国
getStr("中国1中国中国中1111中国中国", 23,"...")
//output:中国1中国中国中1111...
----------------------------------------------------------------------
补充:"kpz"回复说上边的方法会截取失真,而我又无法做到穷尽测试,所以换了另一种写法,为了考虑性能结果把逻辑搞的有点"晕",反复测试了多次,代码如下:
public static string getStr2(string s, int l,string endStr)

{
string temp = s.Substring(0, (s.Length < l+1)?s.Length:l+1);
byte[] encodedBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(temp);
string outputStr = "";
int count = 0;
for (int i = 0; i < temp.Length; i++)

{
if ((int)encodedBytes[i] == 63)
count += 2;
else
count += 1;

if (count <= l-endStr.Length)
outputStr += temp.Substring(i,1);
else if (count>l)
break;
}
if (count<=l)

{
outputStr=temp;
endStr="";
}
outputStr += endStr;
return outputStr;
}
用法和参数含义均同前,注意省略号也占位置,算了长度。
posted @
2008-03-06 10:06 三千 阅读(407) |
评论 (7) |
编辑
问题
如何让
Flash的swf在客户端不缓存?即如何让swf文件不出现在IE浏览器的临时文件夹里?
方法:
一般的我们对于动态页面(asp,php等)禁止缓存都是通过语言本身设置HTTP头来实现的,但swf不能直接设置HTTP头。办法就是可以从服务端着手,在IIS里添加HTTP头:
cache-control: "no-cache"
pragma: "no-cache"
expires: "-1"
操作方法见图示:

但在设置IIS时要注意,如果对整个网站设置了HTTP头,则整站的内容(如jpg,gif,css,html等)都不会被缓存了,这样会导致每次都要重新下载这些文件,不好。那么可以更进一步,在网站下创建一个
虚拟目录,然后对此虚拟目录设置HTTP头,把禁止缓存的swf文件放在其中。
posted @
2008-03-04 12:03 三千 阅读(344) |
评论 (0) |
编辑
在制作聊天室,斗地主游戏等这样的Flash/FMS程序时,可能会涉及到划分房间的问题,比如二个房间的游戏规则相同,功能相同,但是二个房间的数据独立,互不影响。
那么这种应用,就涉及到应用程序实例了,如以下。
nc.connect("rtmp://myDomain.com/chat_app/room_01")
nc.connect("rtmp://myDomain.com/chat_app/room_02")
chat_app是一个聊天室程序,room_01和room_02就是chat_app的两个不同实例,整个地址的格式是:
protocol:[//host][:port]/appname/[instanceName]
地址中的[instanceName]以方括弧表示可有可无,但是不管这个"instanceName"有没有,它都会连接到了一个实例。
就是说,任何一个客户机连接到一个应用程序时,这个客户机实际上都是连接到一个应用程序实例(application instances)的。
比如我们一般的写法:
nc.connect("rtmp://myDomain.com/my_app");
本质上他和以下的做法是等同的:
nc.connect("rtmp://myDomain.com/chat_app/_definst_");
即在这种情况下,默认连接的实例为"_definst_",并不代表没有实例。
那么我们就要好好理解一下“实例”,做过高级语言开发的,就很好理解,就象一个类有多个实例一样,它们具有同样的“规则”,但是具有各自不同的“数据”。
一个实例不需要在服务器上定义它自己的目录。应用程序的资源,比如流和共享对象,对于每个实例而言都是独立的,并且是被存储在这个应用程序的流和共享对象目录下的它们各自的目录中的,比如实例room_01使用的SharedObject对象(比如叫"my_rso"),会存储在"\chat_app\sharedobjects\room_01\my_rso.fso"。
使用应用程序实例的另一个原因是可以避免由这个应用程序创建的记录流或共享对象的冲突。例如,在上面的例子中,room_01和room_02都使用main.asc中的程序规则和逻辑,但是他们的数据各自独立,互不影响。由room_01创建的任何流或共享对象与由room_02创建的都是截然不同的,虽然这两个实例都是运行在同一个应用程序chat_app。
posted @
2008-02-29 09:00 三千 阅读(321) |
评论 (0) |
编辑
“文章分类”栏目的内容都不是原创的,多为转贴,如果在转贴时有原出处及作者,我会加以注明,但有些文章出处及作者不详的,会加上[转贴]字样,且版权都归原作者所有,如果您发现那篇文章是您的而没有署名,请与我联系,我会第一时间加上署名或应您要求进行删除。
“随笔分类”中的文章为原创内容,采用
许可:署名,非商业。
posted @
2008-01-23 12:55 三千 阅读(522) |
评论 (1) |
编辑
List控件有两个关于remove的方法:removeAll()、removeItemAt(index),但是在预先不知道索引的情况下,如果想删除label为"yaoyao"或data为"333"的项,怎么做呢?
方法是循环遍历,并进行比对,再使用removeItemAt方法删除:
var l = _list.length;
for (var j = 0; j<l; j++) {
if (_list.getItemAt(j).label == "yaoyao") {
//_list.getItemAt(j).data == "333";
_list.removeItemAt(j);
break;
}
}
posted @
2008-01-23 12:29 三千 阅读(263) |
评论 (0) |
编辑
在FMS开发中,我们经常要在FMS端连接数据库,进行如身份验证等的数据查询操作。方法有多种,你可以使用WebServices或NetConnection对象,也可以使用
NetServices类,差别是
NetServices能够返回RecordSet对象的数据,本例子就是一个使用
NetServices连接FlashRemoting程序的简单例子。例子的重点在于
跑通"Flash->FMS->FlashRemoting"这个数据传递的过程,所以并没有使用到RecordSet对象。例子使用Flash 8 + FMS 2.0.4 + Asp.Net 2.0 制作。
点此下载(74KB)>>
一、使用说明
1).在IIS中,创建虚拟目录RemotingApp,asp.net版本选择2.0,将例子中RemotingApp文件夹中的内容放进去;
2).将
crossdomain.xml文件放在IIS站点根中,要能通过
http://domain/crossdomain.xml访问;
3).将FMSRemotingTest文件夹copy到FMS的应用程序目录中,此目录默认在“C:\Program Files\Macromedia\Flash Media Server 2\applications\”
二、关键代码分析
1).
TestDemo.aspx
<%@ Page Language="c#" Debug="true" %>
<%@ Register TagPrefix="Macromedia" Namespace="FlashGateway" Assembly="flashgateway" %>
<Macromedia:Flash ID="Flash1" runat="Server" />
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
Flash1.Result = "FlashRemoting服务器时间:"+System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
}
</script>
注意加粗的部分,FlashRemoting是个比较特殊的东西,你的页面"TestDemo.aspx"的名称"TestDemo"就是方法名称,方法的代码要写在Page_Load中,然后把返回结果绑定到一个FlashGateway对象(本例中"Flash1")上才能传递出去。关于FlashRemoting For .Net的详细用法,请查其它资料。
2).FMS端Main.asc文件
load ("netservices.asc");
//
application.onConnect = function (client, _name)
{
//...
this.acceptConnection (client);
//
NetServices.setDefaultGatewayUrl ("http://localhost/RemotingApp/gateway.aspx");
var conn = NetServices.createGatewayConnection ();
var myService = conn.getService ("RemotingApp", this);
myService.TestDemo();
application.TestDemo_Result = function (result_obj)
{
//...
}
//...
};
同样注意加粗的部分,load ("netservices.asc");要放在最顶行。
"RemotingApp"就是前边创建的虚拟目录了。
conn.getService ("RemotingApp", this);这一句这里要非常注意,如果你的aspx页面放在更深一层的目录中,那么这一句中的"RemotingApp",就要带把路径转换为类似命名空间的写法,如“RemotingApp.Folder”。
"TestDemo"就是前边TestDemo.aspx页面的名称,接受数据的函数使用"Remoting方法名"+"_Result"的格式。
3).
FMS_FlashRemoting.fla文件
这个没啥说的,很简单,略了。
三、注意事项
如果遇到不能成功连接和返回数据,请注意:
1).安全策略的问题,前边放置"
crossdomain.xml"就是解决这个问题。
2).web.config中
system.web节的是否有:
<httpModules>
<add name="GatewayController" type="FlashGateway.Controller.GatewayController,flashgateway" />
</httpModules>
四、本例的测试运行效果
如下图:

五、另附两个开发过程中遇到的简单问题
1.如何查看FMS的服务端trace出的信息?
1).打开FMS的管理控制台;
2).View Applications -> { FMSRemotingTest } -> LiveLog;如下图:
2.如何重启FMS应用程序?
修改了FMS服务端的程序,如Main.asc后,需要重启FMS的应用程序才能看到最新的结果,所以如果你改了代码而看不到最新效果,不要恼火,还需要这步操作。
1).打开FMS的管理控制台;
2).Manage Servers -> { FMSRemotingTest } -> 如下图:

posted @
2008-01-16 12:51 三千 阅读(529) |
评论 (1) |
编辑
其实今天这个标题,应该用"dangdang和joyo购书对比"比较合适。之所以用这个标题,是想接续上一篇文章《我为什么在joyo购书》。昨晚几乎在相同的时间,我在joyo和dangdang都订了书。今天观察了二者的发货速度,有点感想想写下来。值此新年之际,也祝阅读此文的朋友新年快乐!
首先我不是偏执狂,更不是闲来没事非要跑二个网站订书,更加谈不上枪手了,说的只是我做为一个普通消费者的实际经历和感受,如果说感受是主观的,那么经历总算是客观的吧,既然是写程序的,那咱用数据说话。:D~ 另外,之所以把这二家拿出来比,是因为去年二者为争夺中文书店全球第一名号引发的口水战,孰是孰非,无法分辨,做为消费者,我不管谁是第一,我只在乎实实在在享受到的服务。
昨天是元旦,出去转了转,然后顺便去书城打算买那本上次翻过而未买的《项目管理通俗演义》,结果书城没了,于是回来在网上订,一查dangdang没货,joyo还有货。在将要在joyo下单的时候,顺便问了下朋友要不要顺便订书。她说想订本《人本界面(交互式系统设计) 》,可是一直没有货,我一查,果然两家都断货。于是搜了一下,发现还有《人机交互:以用户为中的设计和评估(第2版)》、《用户体验的要素:以用户为中心的Web的设计》比较适合,具体内容好坏不能判断,但是看书的简介还可以,价格也不贵,于是决定二本全订了。但是仔细一看,这二本只有在dangdang有货,joyo却没货。所以最后只好分别在两家下单:《项管》在joyo订,后二本在dangdang订,正好也对比一下二者的服务。
今天上网一直关注二者的发货速度,晚些时候结果出来了,结果我抓成了图,我们来对比一下:

上图为joyo订单,从下单(2008-1-1 22:42:06)到发货(2008-1-2 17:45:36)总共用时约19小时,免运费;

上图为dangdang订单,从下单(2008-1-1 22:42:36)到发货(2008-1-2 19:13:58)总共用时约20.5小时,运费2元;
A.配货时间方面,如果严格来讲,那么dangdang慢了一个多小时,但是这里头,也存在着偶然因素,暂时不足已说明问题,比如上月的那个dangdang的订单光配货就用去了二天时间,配货用去二天时间,我暂且以为是那个订单书多(折后约二百五十多块)的原因吧。
B.包装方面,有一点我不能不提,上月的那个dangdang订单在送来时,塑料袋全烂了,书的一半完全裸露,且有轻度磨损,这令我当时很不满,不过不是特别严重就没有计较了。但是相比这下,joyo选用的宅急送,都是用纸箱包装,没有类似情况。
C.在送达时间方面,joyo在订单上写“预计送达时间: 2008-1-3”,而且可以凭包裹号在宅急送网站查询物流情况。而dangdang网是没有的,我无法知道什么时候送达。至于本次真正的送达时间我会在收到书后,在此做以补充。但我敢预测的是,以dangdang往日的风格,绝不会比joyo早到。
(2008-1-03 10:35分,joyo的书送到。时间比我想象的要快,这次有一点我猜错了,就是包装:这次没有使用纸箱,可能只有一本书太小的缘故,但是还是包了三层,第一层是印有joyo的塑料袋,和当当类似,第二层是泡沫塑料代,最外一层又密封一层塑料袋。当当的书目前还没有送到。
2008-1-07 12:50分,当当的书送到,这次包的很严实,只是这时间...)
D.在价格方面,见下表:
| 书籍 |
joyo(折后价格) |
dangdang(折后价格) |
| 项目管理通俗演义 |
12.60 |
14.10(无货) |
| 人机交互:以用户为中的设计和评估(第2版) |
21.70(无货) |
22.33 |
| 用户体验的要素:以用户为中心的Web的设计 |
18.70(无货) |
18.75 |
| 运费 |
0 |
2 |
统计一下上表,如果在二家都有货的情况下,上述订单总额算上运费,dangdang为:57.18元,joyo为:53.00元,那么在dangdang订的话要比在joyo多花去4.18元。
E.在网站功能上,比如搜索,排行,书籍资料列表显示上,还是维持我上次所说的,dangdang做的比joyo好。但是我在前一个文章里也说了,这不是购买行为的决定因素,dangdang应该在关键环节下功夫。
F.在产品的库存/品种齐全性方面,dangdang要比joyo全面,就拿本次三本书来说,joyo有两本就没有,这也迫使我不得不在dangdang下单,那么相对的,joyo在本次竞争中就失去了一个客户订单,虽然我这二本书不算多,但我相信积少成多的道理。
在以上六点的对比中,除去"C.送达时间"暂不明确之外,joyo在配货速度、包装、价格三方面优胜于dangdang,而dangdang在网站功能、品种齐全方面比joyo做的好。
文章末了,我想说的是,不要去争虚名,第一不第一无所谓,但服务千万不能马虎,只有用户认为你是第一你才是第一,自封的那是自欺欺人。
最后希望在新的一年里,dangdang和joyo都能完善自我,超越对手,只有这样,我们用户才能享受到更好的服务。
posted @
2008-01-02 21:25 三千 阅读(152) |
评论 (2) |
编辑
Written in 2007-10-15 09:48
昨天帮一个朋友写一个刷票程序(凸-_-凸),一开始想使用IFrame来操作对方的网站页面,但是IFrame在IE下默认不能跨域操作,FF中更是禁止的,ft~
于是另想办法,甚至想到去写个WinForm程序来操作,后来找到Avant浏览器的插件有一功能,可以自己写脚本,等页面打开后,此脚本会被执行,效果相当于执行页面中本身的脚本一样,setInterval也能使用,于是赶紧写插件。。。成功。。。。嘿嘿。
下边介绍一下Avant浏览器
Avant Browser 是一款使用方便的多窗口浏览器。它以 Internet Explorer 内核为基础,并提供了很多增强功能,例如:过滤 Flash 动画和弹出式广告等。由于采用了多窗口技术,在打开相同数量的网页时,与 Internet Explorer 相比 Avant Browser 占用的系统资源很少。据说(注意是据说,实际的还是要你用了才知道)Avant Browser是当今用户评价速度最快、功能最完善的浏览器。
它的插件功能如下图(我用了第二项自动执行脚本功能):
Avant浏览器插件的更具体用法见:
posted @
2008-01-02 20:17 三千 阅读(107) |
评论 (0) |
编辑
Written in 2007-09-11 14:20
今年第三次在joyo购书了,其实可以不说;但是之前一直是在当当购书的,所以又想说说,可能有和我同样感受的人。
首先,对于购书网站的选择,我现在只会选当当或joyo。
记得最早一次在网上购书,是2002年1月,第一次购书是因为痞子蔡的知名,我买了《檞寄生》,那时候joyo卖书还不行,只有当当独行天下,现在去看,我在当当有11条订单记录。
但是今年之后,我就在joyo购书了,而且一次,二次,今天是第三次,似乎将要变成习惯。
其实不是当当做的不好,只是从用户角度讲,亚马逊让用户有了更好的选择,论网站用户体验,joyo比不上当当,但是体验决不是决定用户购买行为的第一因素。
在我看来,决定用户购买行为的,一是产品+服务,二是价格,图书做为一种同质化的产品,决定用户购买的因素会是信用、配送和价格。
1.信用
信用是网站的品牌塑造,或者说商家给用户的安全感、信任度,网站如何让用户打消顾虑,放心付款,是首要问题。用户要付出的是白花花的银子,当然不能不谨慎,还有退换货的售后服务问题,都在信用的范围内,随着网络消费的发展,用户也变得成熟,他宁可不买东西也不会去冒风险。在我以为,当当和joyo具备同等的信用度。
2.配送
关于配送,速度很重要,能在网上买书的人都是赖人、时间少的人、想省钱的人中的某一种人。一个订单你十天半月才送到,看用户会不会骂死你。
在配送速度上,joyo和当当差不多,但是这里有个细节:
joyo深圳区的配送商是宅急送,所有我收到的书,都用那种纸箱盒子装起来,给人很安全的感觉,尤其有光盘的书,你不得不担心光盘会损坏,就算能换,用户也怕麻烦。但是当当呢?用那种印有当当网的塑料带一装就送来了,相比之下,joyo更令我放心,所以这是细节问题。
3.价格
从前段时间争网上第一的口水战,到joyo的价格制订,joyo铁定了以当当为敌。在joyo和当当搜同一本书,你会发现,joyo总要比当当便宜一毛钱或几毛钱,或者便宜0.1折,显得非常有针对性,不管joyo是否使用了自动调价程序,但除价格比当当便宜之外,在配送费用上,joyo无论多大的单,一律免运费,而当当现在是满99元才免5元运费。所以一个单下来,在joyo要便宜七八块到十多块不等。
所以综合来看,在信用同等的情况下,joyo的配送和价格都令人更舒服,那么选择joyo就是自然而然的事情了,但是在网站体验上,当当要好过joyo,比如搜索结果中,当当的结果中显示出版社,出版日期,自动按销量排列等,都是很好的。
|
续:《
我为什么在joyo购书2》
posted @
2008-01-02 20:14 三千 阅读(210) |
评论 (2) |
编辑
Written in 2007-07-03 18:17
posted @
2008-01-02 20:09 三千 阅读(283) |
评论 (1) |
编辑
我们都知道,在Flash中,可以通过fscommand命令来启动/执行外部应用程序,如以下代码:
on (release) {
fscommand("exec", "abc.exe");
}
这在早期版本中,执行的好好的。可是Flash 7以后,这样的做法却失灵了。而在Flash帮助中,也没有找到具体的说明(也许我太笨)。
原来在Flash 7以后,Flash Player增强了安全性,它有了一些要求:
1.Flash得编译成exe文件,swf是不能执行exe的;
2.在Flash文件的相同目录下,建立一个"fscommand"的文件夹,将要执行的exe文件放入;
满足以上条件后就可以了,命令的写法还是不变:fscommand("exec", "abc.exe"); 不需要带路径,他会自动去fscommand文件夹中找寻要执行的文件;
那么如何将Flash发布成exe文件呢?其实很简单:
文件->发布设置->格式->Windows 放映文件(.exe)勾选,然后点“发布”即可。
示例文件下载(Flash8制作,大小1.29M)>>
(下载后运行"1.exe",然后再点击界面上的按钮,会启动一个火车时刻查询程序。)
posted @
2008-01-02 09:19 三千 阅读(373) |
评论 (1) |
编辑
摘要: 想远程调试 SQL Server 2005 的存储过程,但不知道如何进行配置? 阅读全文
posted @
2007-12-16 22:12 三千 阅读(1751) |
评论 (13) |
编辑
原来flashcs3_air_extension_p2_en_100107.exe是安装不到Flash CS3中文版的。
安装要特殊的办法:手工安装。
首先去下载手工安装包(11M):
(此地址不是永久性的,主人说“空间不够用的话就删了”,找不到可以找我要。)
下载后解压有以下文件夹及文件:
/ActionScript 3.0 AIR 1.0/
/AIK/
/Commands/
/External Libraries/
/Help/
/Players/
/Publish Profiles/
/StartPage/
/LastFirstRunInstall.dat
/readme.txt
然后按以下办法下去安装:
(以下内容来自压缩包中的readme.txt文件,我做以简单的翻译)
Beta 2 Manual installation instructions: quit Flash before you start
安装前先退出Flash.
1. Browse to the Flash installation directory called Adobe Flash CS3. (Default location: C:\Program Files\Adobe\Adobe Flash CS3\)
打开Flash CS3的安装文件夹,默认位置在:C:\Program Files\Adobe\Adobe Flash CS3\
2. Place the AIK folder in the Adobe Flash CS3 folder.
放置"AIK"文件夹到Flash CS3的安装文件夹
3. Place ActionScript 3.0 AIR 1.0 folder in Adobe Flash CS3/<lang>/Configuration/
放置"ActionScript 3.0 AIR 1.0"文件夹到Adobe Flash CS3/zh_cn/Configuration/下
4. Place AdobeAIR1_0.xml in the Players folder in Adobe Flash CS3/<lang>/Configuration/Players/
把"Players/AdobeAIR1_0.xml"文件放置到Adobe Flash CS3/zh_cn/Configuration/Players/文件夹下
5. Place all files in the External Libraries in Adobe Flash CS3/<lang>/Configuration/External Libraries/
把"External Libraries"下的所有文件复制到Adobe Flash CS3/zh_cn/Configuration/External Libraries/文件夹下
6. Replace LastFirstRunInstall.dat in Adobe Flash CS3/<lang>/First Run/
把"LastFirstRunInstall.dat"复制到Adobe Flash CS3/zh_cn/First Run/文件下替换原有文件
7. Place AdobeAIR1_0.xml in the Publish Profiles folder in Adobe Flash CS3/<lang>/First Run/Publish Profiles/
把"Publish Profiles/AdobeAIR1_0.xml"文件放置到Adobe Flash CS3/zh_cn/First Run/Publish Profiles/文件夹下
8. Place all files in Commands folder in Adobe Flash CS3/<lang>/First Run/Commands/
把Commands文件夹中的所有文件复制到Adobe Flash CS3/zh_cn/First Run/Commands/文件夹下.
Welcome Screen: if you update the files, your welcome screen will be in English since I don't have the localized config.xml file. If you decide to do this, it's probably better to replace the files in your user configuration so that you still have the localized original version in First Run folder in case you want to get back to the original welcome screen.
欢迎屏幕的安装:
(注意:如果你做了以上安装,还是不能创建AIR应用的,必须替换Flash启动后的欢迎界面。)
如果你更新了config.xml文件,你的欢迎屏幕将变成英文版。如果你确定继续,那么最好在更新前将旧的config.xml文件进行备份,以便你想恢复回来时用。
(其实不要直接覆盖,添加一行内容就可以了,欢迎屏幕还是中文的,*方法见本文末尾。)
1. Browse to user configuration. (Default location: Win XP: C:\Document and Settings\<username>\Local Settings\Application Data\Adobe\Flash CS3\<lang>\Configuration\, Win Vista: C:\Users\<username>\AppData\Local\Adobe\Flash CS3\<lang>\Configuration\)
打开当前Windows用户的配置信息文件夹,Win Xp系统默认在:C:\Document and Settings\<username>\Local Settings\Application Data\Adobe\Flash CS3\<lang>\Configuration\,Win Vista系统默认在:C:\Users\<username>\AppData\Local\Adobe\Flash CS3\<lang>\Configuration\
2. Replace startpage.swf in StartPage folder in C:\Document and Settings\<username>\Local Settings\Application Data\Adobe\Flash CS3\<lang>\Configuration\StartPage
把"StartPage/StartPage.swf"文件复制到:C:\Document and Settings\<username>\Local Settings\Application Data\Adobe\Flash CS3\zh_cn\Configuration\StartPage文件夹并替换原有文件
3. Replace config.xml in StartPage/Resources folder in C:\Document and Settings\<username>\Local Settings\Application Data\Adobe\Flash CS3\<lang>\Configuration\StartPage\resources
把"StartPage/Resources/config.xml"文件复制到C:\Document and Settings\<username>\Local Settings\Application Data\Adobe\Flash CS3\zh_cn\Configuration\StartPage\resources文件夹并替换原有文件
(如果你介意欢迎屏幕变成英文的,那么就不要做此步,然后参照本文后边的*方法保持中文界面。)
Help:
帮助的安装:
1. Browse to help location. (Default location for XP: C:\Document and Settings\All Users\Application Data\Adobe\Flash CS3\<lang>\Configuration\HelpPanel\Help\, Vista: C:\Program Data\Adobe\Flash CS3\<lang>\Configuration\HelpPanel\Help)
打开帮助文件所在文件夹,Win XP默认在:C:\Document and Settings\All Users\Application Data\Adobe\Flash CS3\<lang>\Configuration\HelpPanel\Help\,Vista默认在:C:\Program Data\Adobe\Flash CS3\<lang>\Configuration\HelpPanel\Help
2. Place AdobeAIR in Help folder in C:\Document and Settings\All Users\Application Data\Adobe\Flash CS3\<lang>\Configuration\HelpPanel\Help\.
把"Help/AdobeAIR"文件夹放置到上边所说的帮助文件夹中(注意这次是在"All Users"文件夹啦.).
Launch Flash and you should be able to use AIR update Beta 2 for Flash CS3.
完成以上步骤后,现在启动Flash CS#,你就能开发AIR应用啦。
---------------------------------------------------------------------------------
*对于欢迎界面会变成英文版的问题,可以这样解决:
将C:\Documents and Settings\<username>\Local Settings\Application Data\Adobe\Flash CS3\zh_cn\Configuration\StartPage\resources\config.xml文件不要直接覆盖,而是打开此文件,加入下边红色粗体的一行在相应位置:
<!-- column 2: new -->
<createnew>新建</createnew>
<air>Flash File (Adobe AIR)</air>
其它部分不变。
posted @
2007-11-24 19:22 三千 阅读(774) |
评论 (9) |
编辑
今天又要说说动态文本框设置字间距的问题,即动态文本框在赋值后,字间距样式会被清除。
那么如何设置动态文本框的字母间距呢?
以下提供两种办法:
方法一是直接通过as脚本设置字间距。
方法二是在赋值之前,先将文本框的样式保存下来,再赋值,然后又设置回去,这是行的通的。这个办法的好处是可以让样式在设计时可见。
代码示例:
//保证舞台上已有动态文本框:my_txt
var string1:String = "Sample string number one.";
//方法一:
var format1_fmt:TextFormat = new TextFormat();
format1_fmt.letterSpacing = 7;
my_txt.text = string1;
my_txt.setTextFormat(format1_fmt);
//方法二:
var format2_fmt:TextFormat = my_txt.getTextFormat();
my_txt.text = string1;
my_txt.setTextFormat(format2_fmt);
注意二种方法的差别(粗体部分)。
posted @
2007-10-30 10:39 三千 阅读(282) |
评论 (0) |
编辑
因为游戏中地图的可视区域使用了遮罩,而这个可视区域里,刚好有动态文本。在使用遮罩以前,我的程序一直好好的。可是接下来,使用遮罩以后,怪事发生了,这个BT的问题今天终于让我给碰上了:默认状态下动态文本框不能使用遮罩,因为之前一直没有碰见过,也不知道这回事,#-_-!!。之前只知道,动态文本的_alpha需要特殊的办法来设置。
所以当问题发生后,我几乎要抓狂,问题的严重性不在于去解决动态文本框使用遮罩,而是根本意识不到这是个问题。
所以将文本框删了重加,又改为普通文本,又改为动态文本。。。
几近抓狂,shit不断时,突然脑门一亮,莫非“动态文本”这个怪物不支持遮罩?于是赶紧和调整_alpha的办法一样,添加一个滤镜效果,再试时,一切正常了,再次shit~
当问题解决后,我才上baidu搜索,原来不止我一个人碰到,只愿我太孤陋寡闻:
关于这个问题,我推荐的解决办法是,给这个动态文本添加一个滤镜效果,不管是发光还是投影,只用添加一个空效果即可,具体可参考:《Flash中如何调整“动态文本”框的_alpha值 》,一模一样的解决办法,非常简单。
总结:其实有时候,问题本身往往很简单,困难的却是我们根本意识不到这是个问题。
posted @
2007-10-29 17:22 三千 阅读(446) |
评论 (0) |
编辑
这是由我整理的一个软件测试入门培训的ppt文档,属于概念扫盲型的,大虾们就不用下了,此ppt大致有以下内容:
0.本ppt培训要达到的目标(能回答以下问题)
什么是软件测试?
测试的任务目标是什么?
怎么样执行测试?
测试时需要注意什么?提交什么?
对于主观性测试,有那些衡量标准?
1.理解软件测试
什么是软件测试?
测试用例
软件测试的重要意义
2.软件测试分类
3.软件测试工作流程
测试计划
测试设计与开发
执行测试
跟踪与报告
4.测试人员的工作和主要目标
5.测试实践
通过一个简单例子说明软件测试的过程
6.优秀的用户界面具有的要素
7.良好的Web用户体验具有的要素
下载(262KB)>>
posted @
2007-10-25 12:11 三千 阅读(691) |
评论 (5) |
编辑
摘要: 不管是ISP或是程序开发者,都可能需要在特定情况下,对使用IIS搭建的Web站点进行限速。
本文就简单说说在IIS中如何限速
阅读全文
posted @
2007-10-23 15:06 三千 阅读(603) |
评论 (0) |
编辑
在Flash8中,MovieClipLoader类用于实现在 SWF、JPEG、GIF 和 PNG 文件正被加载到影片剪辑中时提供状态信息的侦听器回调。
它的onLoadComplete事件是当文件完全下载时调用。
下边给个示例:
_root.createEmptyMovieClip("holder_mc",1);
var loader:MovieClipLoader=new MovieClipLoader();
var lis:Object=new Object();

lis.onLoadComplete=function(target_mc:MovieClip,httpStatus:Number)
{
holder_mc.removeMovieClip();
}

loader.addListener(lis);
loader.loadClip("TEST.swf",holder_mc);
看看这个示例你们能否正常使用?
结果是Flash8和Flash9中,都会让Flash崩溃。
问题就出在那句:holder_mc.removeMovieClip();
按理,这样是不该有错的。
究竟是什么原因呢?
试试下边写法:
_root.createEmptyMovieClip("holder_mc",1);
var loader:MovieClipLoader=new MovieClipLoader();
var lis:Object=new Object();

lis.onLoadComplete=function(target_mc:MovieClip,httpStatus:Number)
{
_global.setTimeout(function () {
holder_mc.removeMovieClip();
}, 500);
}

loader.addListener(lis);
loader.loadClip("TEST.swf",holder_mc);
(关于_global.setTimeout,参见
flash 8 中的 setTimeout() )
结果是正常的,Flash没有崩溃。看看二者的差别,问题就在于“延时”差别上。
那么
onLoadComplete事件的含义倒底是什么?都下载完了为什么还不能立马操作呢?具体原因不清楚,我只是猜想:这应该是Windows系统中常有的现象,比如我们下载个大文件,当下载窗口关闭的一刹那,你会发现磁盘上还未出现下载的文件,如果在这时候去操作文件,极有可能是无法操作的错误。如果按照这个道理解释,我想就能理解了,即
onLoadComplete事件仅仅代表文件的最后一个字节下载完成,并不代表本地的文件数据处理操作也同时完成,或者说“收尾”工作还在进行,由于脚本执行是很快的,在足够短的时间内,执行删除等操作,即得到了我们不想要的结果。
除了删除之外,如果给"TEST.swf"中的某些变量赋值,或操作其中的对象的话,也会得到不正确的结果。(这一点我实际遇到了,最终也是用延时的办法解决了。)
所以,最后得出一个简单的结论:在使用
onLoadComplete的时候,如果是对
target_mc内部进行操作(删除本身,里面的对象数据访问或更改)时,要进行一点
延时,以免出现不想要的结果。
posted @
2007-10-18 12:43 三千 阅读(226) |
评论 (0) |
编辑
vs2005 自动提示(智能感知)不出现或者闪一下就消失的解决办法
早上的时候,我的vs智能感知不正常了,不是不出现,而是一闪就没有了。以为是pd12插件搞的鬼,卸载了pd也不行,折腾了半天也没用,最后通过下述方法1重置配置就好了。
1.关闭VS,然后