<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[微软产品研究 - Flash]]></title>
<link>http://www.ainy.com.cn/</link>
<description><![CDATA[爱尼网络科技]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[your@email.com(Ainy)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>微软产品研究</title>
	<url>http://www.ainy.com.cn/images/logos.gif</url>
	<link>http://www.ainy.com.cn/</link>
	<description>微软产品研究</description>
</image>

			<item>
			<link>http://www.ainy.com.cn/article/32.htm</link>
			<title><![CDATA[ShareObject 实现flash数据存储]]></title>
			<author>your@email.com(ainy)</author>
			<category><![CDATA[Flash]]></category>
			<pubDate>Wed,20 Jan 2010 08:08:57 +0800</pubDate>
			<guid>http://www.ainy.com.cn/default.asp?id=32</guid>
		<description><![CDATA[通过flash 6 player,开发人员已就可以在客户端存储数据了，就像cookies一样。ShareObject有两种格式：本地和远程。这篇文章只讨论 <br/><br/>本地ShareObject.远程ShareObject一般和flash communication server一起使用。一个本地ShareObject只需要flash 6 player，仅此而已。很多情况下，ShareObject提供了除cookies外的另一种选择，这是许多开发者没有考虑过的。 <br/><br/>存储简单数据 <br/><br/>在ShareObject中存储简单数据是相当简单的工作，我们先用ShareObject存储一个用户自定义的对象，然后将讨论用ShareObject存储内建类的实例的问题。一个用户自定义对象可以这样创建：<br/>myObj = new Object(); //or myObj = {};<br/><br/><br/><br/>在ShareObject中存储myObj是很简单的，首先你需要创建一个本地ShareObject的引用：<br/><br/>myLSO = SharedObject.getLocal(&#34;foo&#34;);<br/>getLocal方法的第一个参数是ShareObject的名字，getLocal()方法也有第二个可选参数：一个字符串类型的路径。大多数情况下你用不到这个参数，除非你在多个swf文件中共用同一个ShareObject。现在为了在ShareObject中储存数据，你需要给ShareObject指定“数据特性”（data property）。现在创建一个ShareObject引用，以及你想存储的对象，最后存储这个对象到“数据特性”中。<br/>例子：<br/><br/>myLSO = SharedObject.getLocal(&#34;foo&#34;); myObj = {}; myObj.fname = &#34;Jessica&#34;; myObj.lname = &#34;Smith&#34;; myLSO.data.myObj = myObj *****译者注*****<br/>myLocalSharedObject.data<br/>描述：<br/>只读属性，用来存储被存储到“数据特性”中的对象的属性，这些属性可以共享/存储，每一个属性可以是各种基础数据类型（数组，数字布尔值等）对象。<br/>**************** <br/>现在myObj已经存储在SharedObject中了，今后你可以通过对SharedObject数据属性的存取来实现对myObj的存取，下面是一个例子，这个例子检测是否数据已经被存储到SharedObject中了，如果没有，它将数据存储进去，如果已经存在，则在输出窗口输出。当你将这些代码放到一个空的电影的第一祯后，你可以运行它一次，然后在运行一次，第二次运行你可以看到你存储的数据被输出。 <br/><br/>*****译者注*****<br/>一定要先保存动画，否则你的动画只是在windows临时文件夹中运行，不能存储数据。<br/>****************<br/>myLSO = SharedObject.getLocal(&#34;foo&#34;);<br/><br/>if(myLSO.data.myObj == undefined){ <br/>&nbsp;&nbsp; trace(&#34;Storing Data, run me again&#34;);<br/>&nbsp;&nbsp; myObj = {}; <br/>&nbsp;&nbsp; myObj.fname = &#34;Jessica&#34;;<br/>&nbsp;&nbsp; myObj.lname = &#34;Smith&#34;; <br/>&nbsp;&nbsp; myLSO.data.myObj = myObj; <br/>}else{ <br/>&nbsp;&nbsp; trace(&#34;Retrieving Data&#34;); <br/>&nbsp;&nbsp; var firstname = myLSO.data.myObj.fname; <br/>&nbsp;&nbsp; var lastname = myLSO.data.myObj.lname;<br/>&nbsp;&nbsp; trace(&#34;First Name: &#34;+firstname); <br/>&nbsp;&nbsp; trace(&#34;Last Name: &#34;+lastname); <br/>} <br/>*****译者注*****<br/>运行一次以上后，你可以将程序改为<br/>&nbsp;&nbsp; myLSO = SharedObject.getLocal(&#34;foo&#34;);<br/>&nbsp;&nbsp; trace(&#34;Retrieving Data&#34;); <br/>&nbsp;&nbsp; var firstname = myLSO.data.myObj.fname; <br/>&nbsp;&nbsp; var lastname = myLSO.data.myObj.lname;<br/>&nbsp;&nbsp; trace(&#34;First Name: &#34;+firstname); <br/>&nbsp;&nbsp; trace(&#34;Last Name: &#34;+lastname); <br/>你会发现无论你重复运行多少次，甚至关闭flash后重新进入，仍然能够得到firstname和lastname的值。<br/>另外你应该可以理解getLocal()方法的参数的作用了，它用来表示你所存储的数据的载体名称，是必不可少的。<br/>例如本例中的数据都存储在名为foo的SharedObject中，只有getLocal(&#34;foo&#34;)，你才能得到你想要的结果。<br/>**************** <br/><br/>你还可以存储更多内建类型：数组，布尔值，日期，数字，对象，XML，undefined，null <br/><br/>下面是一个将日期实例存储在SharedObject中的例子：<br/>myLSO = SharedObject.getLocal(&#34;DateStorage&#34;); <br/><br/>myDate = new Date(); <br/>myLSO.data.myDate = myDate; <br/><br/>*****译者注*****<br/>存储简单数据的方法到这基本上就介绍完了，是不是很简单？<br/>为了方便大家理解，我做了一个简单的例子：<br/><br/>&nbsp;&nbsp;<br/><br/>下载3.fla<br/><br/>你可以在文本框中输入任何内容，然后点击储存，<br/>以后任何时候你打开这个swf，文本框中总是上一次储存的内容。 <br/><br/>我现在想到的对SharedObject最有意思的应用就是游戏存档！<br/>只要将与游戏相关的数据，如时间，分数，等级，屏幕位置等相关数据存储<br/>再在必要的时候提取出来，基本上就算是实现存档取档功能。<br/>希望有兴趣的朋友试试。<br/>另外，在使用SharedObject之前，别忘了把你的Flash Player的文件存储设置为无限制，如图：<br/><br/> <br/><br/>否则，超过了Player文件存储的上限(默认好像10k)，ShareObject将不起作用 <br/><br/><br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.ainy.com.cn/article/24.htm</link>
			<title><![CDATA[为动画加载简单的验证功能]]></title>
			<author>your@email.com(ainy)</author>
			<category><![CDATA[Flash]]></category>
			<pubDate>Thu,31 Dec 2009 13:42:30 +0800</pubDate>
			<guid>http://www.ainy.com.cn/default.asp?id=24</guid>
		<description><![CDATA[为自己的flash添加密码验证功能【本地验证】，验证通过则继续播放 。<br/>--------------------------------------------------<br/>on (release) {<br/>&#160;&#160;&#160;&#160;if(pwd.text!=&#34;&#34;&amp;&amp;pwd.text==&#34;ainy&#34;)<br/>&#160;&#160;&#160;&#160;&nbsp;&nbsp;&nbsp;&nbsp;{gotoAndPlay(2);}//验证尝过<br/>&#160;&#160;&#160;&#160;else<br/>&#160;&#160;&#160;&#160;&nbsp;&nbsp;&nbsp;&nbsp;{tempText.text=&#34;对不起 尝试授权失败！&#34;;}<br/>}<br/>-------------------------------------------------------<br/><br/>测试密码:hsj@2009<br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.ainy.com.cn/images/flash.gif" alt="" style="margin:0px 2px -3px 0px" border="0"/>Flash动画</div><div class="UBBContent"><a id="temp56914_href" href="http://www.ainy.com.cn/javascript:MediaShow('swf','temp56914','attachments/month_0912/r2009123113428.swf','400','300')"><img name="temp56914_img" src="http://www.ainy.com.cn/images/mm_snd.gif" style="margin:0px 3px -2px 0px" border="0" alt=""/><span id="temp56914_text">在线播放</span></a><div id="temp56914"></div></div></div><br/>]]></description>
		</item>
		
</channel>
</rss>
