作者aquarianboy (2007新年快乐 :))
看板Flash
标题Re: [问题] 可否说明一下 这段SCRIP 用到的指令
时间Sun Jan 21 21:31:34 2007
※ 引述《catmouse520 (跟时间赛跑)》之铭言:
: 这是书上的范例内容
: 因为书已经还了
: 可是我想用save的功能
: 看的懂得人帮我解释一下 最好清楚点 3Q
: //储存
: function onSaveClick() {
: var tempSO = SharedObject.getLocal("myDraw");
: //建立临时的XML物件
: var tempXML = new XML(dataOfDraw.toString());
: //清除可以Redo的资料
: for (i=tempXML.childNodes.length-1; i>dataPointer; i--) {
: tempXML.childNodes[i].removeNode();
: }
: //放入SharedObject
: tempSO.data.draws = tempXML.toString();
: tempSO.flush();
: }
: 还有这里的save 是暂时存在flash执行时後的 画面而已吗?
: 如果我想把当时的档案 另存成一个jpg or bmp之类的 该如何改写
: 或是要用什麽方法呢?
因为跟上一篇有点类似,所以就连同上一篇一起回覆 :)
上面这段程式码提到的Shared Object,它应该算是flash里面的cookie
预设大小为100KB
为了避免被有心人士藉由flash播放的过程中伤害到使用者的电脑资料
flash本身目前还没有能力在本机或是远端建立档案的权限
(至少目前没有,Shared Object应该是目前唯一勉强算是的)
上面程式码的动作,是在使用者的电脑建立一个叫做myDraw的SO
将XML的资料parse之後,放入SO里面(其实注解还写得挺清楚的 :) )
它只是把目前的「状态」存下来,例如物件的位置、路径、得分...等等资料
等到别的地方需要的时候再读出来
如果是真正想在local端或server端做档案存取的话(例如jpg或bmp)
在server端,大多还是透过ASP、PHP等等内建的FileSystem function存取
而如果在local端,则需转换成.exe档之後才有机会
但并不是直接输出成.exe就行了
通常需要再透过其它的swf wrapper提供的API才行
我自己常用的swf wrapper是MDM的ZINC
http://www.multidmedia.com/
供大家参考 :)
--
http://www.eddie.com.tw/blog/
http://www.eddie.com.tw/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.172.127
1F:推 catmouse520:感谢!!说明的非常详细 01/21 22:45
2F:推 kazenol:第一次看到这种东西,感谢分享 01/22 17:27