- 浏览: 159915 次
- 性别:
- 来自: 广州
最新评论
-
雷蕾_ing:
...
python 模拟POST -
blink31:
TextOut不能换行,请问有其他的解决办法吗?
C++下的OpenGL文字显示的完美解决方案 -
lwz7512:
这么强悍!
在优酷的几道笔试题 -
lwz7512:
下了,谢谢分享!
opengl3D台球源代码 -
xltank:
今天过期了。。。
flash builder 序列号
【使用SharedObject及捕获异常】
var so:SharedObject = SharedObject.getLocal("so");
so.data.userName = "Youthoy";
try {
var flushResult:String = so.flush(500 * 1024); //请求500KB容量
//如果flush()没成功执行,就替netStatus加个事件处理函数以确认用户是同意还是拒绝,否则只检验结果.
if(flushResult == SharedObjectFlushStatus.PENDING) {
//替netStatus加个事件处理函数,使得我们可以检验用户是否同意以足够磁盘容量储存共享对象.当netStatus事件发生时,执行onStatus函数.
so.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
}else if(flushResult == SharedObjectFlushStatus.FLUSHED) {
//成功储存.把数据成功储存后你想执行的程序放在这里.
}
}catch(e:Error) {
//这里表示用户把本地储存设置为"拒绝".如果储存数据很重要,你会想在此警告用户.
//此外,如果你想让用户可修改其设定值,可以用下面语句打开Player的"设置"对话框的本地储存页面.
Security.showSettings(SecurityPanel.LOCAL_STORAGE);
}
//定义onStatus函数以处理共享对象的状态事件.flush()返回"pending"时,引发提示,而用户做了选择后所引发的事件.
function onStatus(event:NetStatusEvent):void {
if(event.info.code == "SharedObject.Flush.Success"){
//如果event.info.code内容是"SharedObject.Flush.Success",表示用户同意.把用户同意后你想执行的程序放在这里.
}else if(event.info.code == "SharedObject.Flush.Failed"){
//如果event.info.code内容是"SharedObject.Flush.Failed",表示用户同意.把用户拒绝后你想执行的程序放在这里.
}
//现在,移除事件监听器,因为我们只需监听一次.
so.removeEventListener(NetStatusEvent.NET_STATUS, onStatus);
}
【向LSO储存对象时需要注意】
LSO使用二进制的AMF(Action Message Format)对一个对象进行编码.当你在LSO储存类对象时,该对象会编码成包含内容属性的普通对象.于是,当你试着从共享对象里读取该对象时,无法被读成某类的对象,因为没有类型数据.要克服这个限制,使用flash.net.registerClassAlias()方法.
任何影片中,只要从共享对象读取出自定义对象数据,自定义类就必须注册别名,而且调用registerClassAlias()方法时必须在SharedObject.getLocal()方法被调用之前.
【要相同域名内的两个影片可以存取相同LSO】
首先LSO是储存在以下目录下:
C:\Documents and Settings\[user name]\Application Data\Macromedia\Flash Player\#SharedObjects
例如,如果来自于http://www.riahome.cn/youthoy
的影片movie.swf写入名为example的LSO,则数据会储存在以下位置:
C:\Documents and Settings\[user name]\Application Data\Macromedia\Flash Player\#SharedObjects\[random directory name]\riahome.cn\youthoy\movie.swf\example.sol
如果在这个movie.swf里的代码是这样的: var example:SharedObject = SharedObject.getLocal("example", "/"); 也就是使用了选用的本地路径参数,则LSO会储存在以下路径,注意到与以上路径少了"youthoy\movie.swf":
C:\Documents and Settings\[user name]\Application Data\Macromedia\Flash Player\#SharedObjects\[random directory name]\riahome.cn\example.sol
以此方法建立的LSO,可以由相同域的其它Flash影片用以下程序来读取:
var example:SharedObject = SharedObject.getLocal("example", "/");
再看一个例子:
有两个Flash影片movieOne.swf和movieTwo.swf都位于同一域(http://www.riahome.cn
)内,但是,movieOne.swf位于http://www.riahome.cn/youthoy/firstGroup
,而movieTwo.swf位于http://www.riahome.cn/youthoy/secondGroup.
在这情况里,movieOne.swf可以用下列任何本地路径建立和读取LSO:
/
/youthoy
/youthoy/firstGroup
而movieTwo.swf可以用下列任何本地路径建立和读取LSO:
/
/youthoy
/youthoy/secondGroup
因此,如果你想要两个影片都可以读取相同LSO,当你调用getLocal()方法时,必须指定影片共享的两个本地路径之一(/或/youthoy).
【URLLoader.dataFormat的三种类型】
URLLoader.dataFormat的可选值是:
flash.net.URLLoaderDataFormat.BINARY
flash.net.URLLoaderDataFormat.TEXT
flash.net.URLLoaderDataFormat.VARIABLES
当dataFormat是BINARY时,URLLoader.data属性就是flash.utils.ByteArray类型;
当dataFormat是TEXT时,URLLoader.data属性就是String类型;
当dataFormat是VARIABLES时,uRLLoader.data属性就是Object类型.
【在XML内使用动态数据】
把变量放在大括号({和})内:
var userName:String = "Youthoy";
var myXML:XML = <person><userName>{userName}</userName></person>;
【新增一个节点元素】
//例子一:
var example:XML = <person/>;
example.father = <father/>; //内容属性和元素名称不一定要相同,也可以: example.abc = <father/>,但会以元素名称为准,即会建立一个<father/>元素
trace(example);
/*
输出:
<person>
<father/>
</person>
*/
//例子二:
var example:XML = <person/>;
example.father = ""; //建立一个<father/>元素
trace(example.toString());
/*
输出:
<person>
<father/>
</person>
*/
//例子三:
var example:XML = <person/>;
var id:int = 10;
example["user" + id] = "";
trace(example);
/*
输出:
<person>
<user10/>
</person>
注意: 有些情况必须使用第三种情况.例如,元素节点名称内含连字符("-")是完全合法的,但在ActionScript里会得到编译器错误:
example.some-element = ""; //产生编译器错误
正确的写法是:
example["some-element"] = "";
*/
【新增属性】
var example:XML = <person/>;
example.element = "";
example.element.@name = "Youthoy";
example.element.@["bad-variable-name"] = "yes";
example.element.@other = ["riahome.cn", undefined, true, 44, null];
var id:int = 44;
example.element.@["user" + id] = "love";
trace(example);
/*
输出:
<person>
<element name="Youthoy" bad-variable-name="yes" other="riahome.cn,,true,44," user44="love"/>
</person>
*/
【向XML插入文字元素和节点元素】
//在指定元素前和后插入,在最前端和尾端插入
var example:XML = <person/>;
example.two = "";
example.insertChildBefore(example.two, <one/>); //在two节点前插入one节点
example.insertChildBefore(example.two, "在two节点前插入文字");
example.insertChildAfter(example.two, <three/>); //在two节点后插入three节点
example.prependChild(<start/>); //在最顶端插入start节点
example.appendChild(<end/>); //在尾端插入end节点
example.start = "start内容"; //向节点增加内容
trace(example);
/*
输出:
<person>
<start>start内容</start>
<one/>
在two节点前插入文字
<two/>
<three/>
<end/>
</person>
*/
【把XML实例的内容属性转换为任何可以转换成字符串的内容】
//先把等号右边转为可以转换的字符串
var example:XML = <person/>;
example.one = "one";
example.two = new URLLoader();
example.three = new Sprite();
example.four = new Boolean; //Boolean对象的值初始化为false
example.five = new Number();
example.six = new String();
example.seven = {a:"Youthoy", b:true, c:undefined};
example.eight = ["three", undefined, true, 44, null];
/*
输出:
<person>
<one>one</one>
<two>[object URLLoader]</two>
<three>[object Sprite]</three>
<four>false</four>
<five>0</five>
<six/>
<seven>[object Object]</seven>
<eight>three,,true,44,</eight>
</person>
*/
【对XML属性层层递归的算法】
var example:XML = <menu>
<menuitem label="File">
<menuitem label="New"/>
<menuitem label="Save"/>
</menuitem>
<menuitem label="Help">
<menuitem label="About"/>
</menuitem>
</menu>;
walk(example);
function walk(node:XML):void {
for each(var element:XML in node.elements()) {
trace(element.@label);
walk(element);
}
【读取文字节点及其值】
var example:XML = <menu>
My name is Youthoy.
<myName>Youthoy</myName>
</menu>;
example.text(); //输出: My name is Youthoy.
example.myName.toXMLString(); //输出: <myName>Youthoy</myName>
//以下三行都输出: Youthoy
example.myName.toString();
example.myName.text();
example.myName;
【递归元素属性时读取属性名与其值】
var example:XML = <person name="Youthoy" age="21"/>;
for each(var i:XML in example.attributes()) {
trace(i.name() + "=" + i);
}
/*
输出:
name=Youthoy
age=21
*/
另类方法:
var example:XML = <person name="Youthoy" age="21"/>;
trace(example.@*[1]); //输出: 21
【不论层级地访问整个XML中指定的节点或属性】
使用后代存取器运算符..
例子1(对于节点元素):
var example:XML = <a>
<z>I am z.</z>
<b>
<c></c>
<z>I am z.</z>
</b>
</a>;
trace(example..z.text()); //输出: I am z.I am z.
例子2(对于属性):
var example:XML = <person>
<a>
<item name="Youthoy" age="21"/>
</a>
<item name="Jimpa" age="21"/>
</person>
trace(example..@name); //输出: YouthoyJimpa
【删除节点元素,文字节点以及属性】
使用delete对单一项进行删除,要删除整个XMLList可以使用for循环以倒序形式进行删除,以避免迭代时需要改变数组索引问题.
【搜索XML的高级应用】
使用术语过滤.(condition),可结合正则表达式来使用.
例子:
var example:XML = <foodgroup>
<fruits>
<fruit color="red">Apple</fruit>
<fruit color="orange">Orange</fruit>
<fruit color="green">Pear</fruit>
<fruit color="red">Watermelon</fruit>
</fruits>
<vegetables>
<vegetable color="red">Tomato</vegetable>
<vegetable color="brown">Potato</vegetable>
<vegetable color="green">Broccoli</vegetable>
</vegetables>
</foodgroup>;
trace(example..*.(hasOwnProperty("@color") && @color == "red"));
/*
hasOwnProperty所做的检测是确保元素具有color属性,然后,有的话,就测试color属性之值是否为red.只有当条件的计算结果为true时,该元素才会加入EX4运算式所返回的XMLList.
输出
<fruit color="red">Apple</fruit>
<fruit color="red">Watermelon</fruit>
<vegetable color="red">Tomato</vegetable>
*/
【CDATA(Character Data)标签】
<![CDATA[]]>,必须大写.如果<![CDATA[[]]]>这样的话,它会告诉你语法错误的.
【一些名词】
RPC:
全称: Remote Procedure Call,台湾的朋友称其为: 远端程序呼叫
SOAP:
全称: Simple Object Access Protocol,台湾的朋友称其为: 简单物体存取协定
WSDL:
全称: Web Service Description Language,台湾的朋友称其为: web service描述语言
发表评论
-
Python包中__init__.py
2010-01-07 23:40 1473在python 模块的每一个包中,都有一个__init_ ... -
python 模拟POST
2010-01-07 22:21 2432python使用urllib和httplib库模拟提交表单 ... -
简短的代码不一定更有效率(上):算法才是关键
2010-01-07 21:40 887前一段时间在博客园里看到这样一篇文章,那位兄弟谈到程序效率 ... -
Flash as3中对象深度拷贝的方法research
2010-01-07 13:23 1126烈火网教程 关于flash as3 中对象 深 ... -
ToolTip类的升级版
2010-01-07 12:05 1062些ToolTip类确实比之前的方便多了,收藏 ///// ... -
如何在AS3中使用global对象,来动态访问自定义类
2010-01-07 12:01 1377关键词: 如何在AS3中使用global对象 ,来 ... -
as3学习笔记
2010-01-07 11:53 9681、动态修改影片的帧频 在AS3中,你可以使用Stag ... -
SharedObject 使用
2010-01-07 11:43 1358一,什么是共享对象?它的英文名称为SharedObject ... -
解决" 0X000000该内存不能为read" 的方法
2010-01-06 15:24 21905解决" 0X000000该内存 ... -
AS3数据存取方式效率比较
2010-01-06 15:21 848通常我们存取数据有如下几种方式:Array, Object, ... -
the efflex of flex effect
2010-01-06 15:18 855the effl ... -
flex builder 2编译时下正常的flash9.ocx的问题解决
2010-01-06 15:08 946版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声 ... -
flash builder 序列号
2010-01-06 15:05 1651flash builder beta 2 序列号(SN)是1 ...
相关推荐
有时候会碰到cuda报错,OSError: libcudart.so.10.0: cannot open shared object file: No such file 原因是cuda动态链接库没有链接上。 解决方法如下: cuda10.0: sudo ldconfig /usr/local/cuda-10.0/lib64 cuda...
#资源达人分享计划#
自己动态库映射地址不一样
AS3 SharedObject 本地通讯 小例子!以前很久的时候参考网上例子学习的!刚接触本地通讯的童鞋可以试试。
SOLReader is a decompiler for the .sol files used by flash to save its own cookie (the SharedObjects)
shared Object对象相当强大,他提供了在多个客户端实时数据共享,并且可以存储在客户端或远程服务器。可以把本地共享对象比作cookies,把远程共享对象看作实时的数据传输设备。
OSError: libcusparse.so.11: cannot open shared object file: No such file or directory 搜索全网,也没找到解决方案。最快解决方案如下: 1、在 /home/user/anaconda3/lib/ 中放入缺少的 libcusparse.so.11 文件...
ubuntu报错:libg2c.so.0:cannot open shared object file: no such file or directory/wrong ELF class(已解决)-附件资源
用于单机游戏中的 进度保存。 SharedObject 望有帮助
libXp.so.6: cannot open shared object file: No such file or directory [oracle@dbadb1 ~]$ ls -ld /usr/lib/libXp.so.6 ls: /usr/lib/libXp.so.6: No such file or directory [root@dbadb1 zhuxu]# rpm -ivh...
针对以下帖子的实验(Linux版): http://topic.csdn.net/u/20100317/09/1cb8411a-74a9-4f05-ae5e-1e068b06654c.html
本编辑器是我自己做的,最初是因为玩一个flash做的游戏(金庸群侠传2),感觉升级太慢,想到要修改其保存的属性值,之后就有了此作。原文件和详细说明都打包在里面! 解压密码:scriptfan@qq.com
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory [root@SnsWeb ~]# /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --log...
tensorflow.python.framework.errors_impl.NotFoundError: libnccl.so.2: cannot open shared object file: No such file or directory。 根据报错的内容,我们知道,缺少一个文件,libnccl*** 类似的东西,看到nccl...
仿造qq登陆功能写的 Flash提供的本地共享对象ShareObject是一种跨平台较好的方案,当然在客户端已经安装Flash Player的情况下。 ShareObject默认只能存储100Kb的数据,用户可
android-sdk-NDK18.1.5063045.rar
cannot load library 'libcairo.so.2': libcairo.so.2: cannot open shared object file: No such file or directory cannot load library 'libcairo.2.dylib': libcairo.2.dylib: cannot open shared object file: ...
MYSQL之 error while loading shared libraries: libtinfo.so.5: cannot open shared objectfile: No such f-附件资源
如何使用 ngSharedObject得到它您可以使用 bower 来获取模块: $ bower install ng-shared-object --save配置角度将ngSharedObject添加到您的模块中: angular . module ( 'modulename' , [ 'ngSharedObject' ,] )...