我可以在actionscript-3中执行以下操作吗? :
我想通过将URLRequests创建到本地文件夹来创建一个使用Loader加载一些图像的应用程序。我可以构建应用程序并以某种方式包含此文件夹,因此当我从服务器发送到客户端时,URLRequests在客户端正常运行吗?此外,如果可能,客户端可能无法查看/访问该文件夹,但只能从其附带的Flash应用程序访问该文件夹?
因此,例如,如果我将它发送到客户端,那么在本地运行到我的机器上的这段代码将继续运行到它的机器。可以以某种方式将文件夹和SWF作为一个对象发送?
private function clothesOn( outfit:String ) {
var clothier:Loader = new Loader();
var item:String = "clothes/" + outfit + ".gif";
var getItem:URLRequest = new URLRequest( item );
clothier.load( getItem );
this.addChild( clothier );
}
ps:取自actionscript设计模式的代码。
答案 0 :(得分:1)
除非将文件作为库资源添加到Flash文件本身,否则无法将文件发送到客户端。 但是,如果文件夹在服务器上的位置与本地计算机上的相同位置相同,并且您指示flash文件创建相对于自身的所有路径(使用base:'。'param),则flash文件应该能够找到您的图像文件,而无需先将它们发送到客户端。
基础参数是您在页面中嵌入Flash文件时可以指定的值。见这里:
http://kb2.adobe.com/cps/127/tn_12701.html
使用SWFObject,代码看起来像这样:
<script type="text/javascript">
var params = {
menu: "false",
scale: "noScale",
allowFullscreen: "true",
allowScriptAccess: "always",
bgcolor: "#FFFFFF",
base:'.'
};
swfobject.embedSWF("file.swf", "divID", "706", "706", "9.0.0", "swf/expressInstall.swf", null, params, null);
</script>
设置该参数后,Flash文件中的网址将相对于文件本身的位置。假设您的服务器上有这样的结构:
-root
-index.html
-file.swf
-folder
-img1.jpg
-img2.jpg
像'folder/img1.jpg'
这样的网址将被flash文件加载。