Flex 中对图片加载并显示的两个类主要是 Image 和 SwfLoader,Image继承 SwfLoader,还实现了一些IDataRenderer、
IDropInListItemRenderer、IListItemRenderer的接口。flex swfLoader 还是使用Loader类等对内容的加载。
Loader类,无论在Flash Authoring Tool 还是在 Flex 中对相对路径的解析,会依托给承载swf的容器。这样理解,如果,swf通过 或标签嵌套在网页,那么所有的相对路径都被解析为,相对那个网页,而不是任何swf文件,
如果Flash Player 作为一个独立的应用程序,或通过网页直接访问.swf ,那么所有的相对URL都被解析为相对于由Flash Player
打开的第一个 .swf 文件-称为Stage Owner。即使Flash Player 打开的第一个.swf 从舞台上一处,它任然作为舞台拥有者,并且任然控制相对路径的解析。(此段摘自 Essential.ActionScript.3.0.pdf 28. Loading External Display Assets)
但是 Flex中的SwfLoader会根据当前的swf的路径对相对路径解析为绝对路径。mx.controls.SwfLoader [Code 1324 - Code 1340 Ver 3.0],这些都没有问题,但是有一种情况就是,用Flash Player 启动一个可以读本地文件的swf时,Flash Player 对 “file:///D:/work/inkerweb/public/test/../b18e66b41efd9a3df1a7bc8758da1883.jpg”,格式的路径 会报一个IOERROR 错误,“file:///D:/work/inkerweb/public/test/../b18e66b41efd9a3df1a7bc8758da1883.jpg”,这个路径没有错,网页对它的解析也是正确的,只是Flash Plaer 对不而已。所以,flex中 swfLoader 或 Image 要支持 souce=“../XXX.XXX” 格式的路径的本地访问,可能还要在 mx.controls.SwfLoader [Code 1324 - Code 1340 Ver 3.0],对代码做一下这样的处理:
if (!(url.indexOf(":") > -1 || url.indexOf("/") == 0 || url.indexOf("\\") == 0))
{
var rootURL:String;
if (SystemManagerGlobals.bootstrapLoaderInfoURL != null && SystemManagerGlobals.bootstrapLoaderInfoURL != "")
rootURL = SystemManagerGlobals.bootstrapLoaderInfoURL;
else if (root)
rootURL = LoaderUtil.normalizeURL(root.loaderInfo);
else if (systemManager)
rootURL = LoaderUtil.normalizeURL(DisplayObject(systemManager).loaderInfo);
if (rootURL)
{
Code AT: if(rootURL.indexOf("file:") != 0) {
var lastIndex:int = Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/"));
if (lastIndex != -1)
url = rootURL.substr(0, lastIndex + 1) + url;
}
}
}
分享到:
相关推荐
在网页开发中,Flash内容有时会遇到加载外部资源(如图片、声音或其它SWF文件)的相对路径问题。这是因为Flash Player在解析相对路径时,是基于包含Flash内容的HTML页面的URL,而不是Flash文件本身的路径。这可能...
在本文中,我们将深入探讨如何在Winform应用中利用UnityWebplayer封装用户控件,以实现`.unity3d`文件的动态加载,即通过相对路径调整`src`属性。这是一项涉及C#编程、Unity引擎以及Windows桌面应用程序开发的重要...
一下是对文件的调用: <script src="../leeJs/loadflash.js" type="text/javascript" language="javascript"> ...2.LoadFlash()的第一个参数是flash的相对路径,第三、第四个参数分别是flash的宽度和高度。
* 在“属性页”对话框中,键入 Flash 动画的完整本地路径,并勾选“播放”选项。 知识点四: Flash 动画的网络路径支持 * “影片 URL”地址支持本地路径和网络路径,可以键入类似“http://.it168.com//flash.swf”...
- 当使用相对路径加载Flash文件时,确保文件位于程序可以访问的位置,或者使用绝对路径指向正确的文件位置。 - 如果Flash文件不在当前工作目录下,你需要正确构建文件路径。 - 考虑到兼容性问题,确保你的目标...
总的来说,将Flash集成到WPF应用中是一个相对复杂的过程,涉及到ActiveX控件、JavaScript交互以及对安全性和性能的考虑。然而,对于仍需使用Flash的场景,这是一种有效的解决方案。随着技术的发展,开发者应逐渐转向...
- 在部署应用程序时,确保Flash文件与VB程序在同一目录下,或者提供正确的相对或绝对路径。 - 控制Flash的其他方法和属性可以查阅Adobe的官方文档或在线资源。 7. **其他技术**: 虽然VB6和.NET Framework的早期...
然而,许多初学者在尝试给Flash按钮添加链接时常常遇到问题,主要是由于对绝对路径和相对路径的理解不足。本篇将详细介绍两种为Flash按钮添加链接的方法。 方法一,通过Flash软件操作: 1. 首先,打开Flash源文件...
- **运行时管理**:如果仅部分代码在RAM中执行,需要管理代码的执行路径,确保程序逻辑正确。 4. **编译和调试** - **重新编译**:修改了链接器脚本后,需要重新编译程序以生成新的可执行文件。 - **烧录与测试*...
- 文件路径:确保Flash文件(.swf)与执行的WPF应用程序在同一目录下,或者提供完整的相对或绝对路径。 通过以上步骤,你就可以在WPF应用中成功地嵌入和播放Flash动画了。但请记住,由于安全性和技术发展趋势,...
5. **资源管理**:在VC程序中,你需要指定Flash内容的路径,这可以是相对路径或者绝对路径。确保Flash文件能在运行时被正确加载,否则会导致显示问题。 6. **优化性能**:尽管Flash能提供丰富的用户体验,但也要...
3. **HTML嵌入**:将Flash时钟添加到网页上,需要通过HTML的`<object>`或`<embed>`标签进行嵌入,指定SWF文件的路径,以及Flash Player的版本等信息。 4. **网页装饰**:Flash时钟可以增加网页的视觉吸引力,为网站...
Flash 8提供了ActionScript 2.0,这是一个相对成熟的脚本语言,能够与外部应用程序进行数据交换。 VC++与Flash的交互主要通过ActiveX控件实现。ActiveX是Microsoft开发的一种技术,允许不同应用程序之间共享组件。...
需要注意的是,有时候链接可能是相对路径,此时需要加上网页的基地址才能构成完整的下载链接。 #### 二、利用全屏链接下载 有些网站为了提供更好的用户体验,会提供Flash内容的全屏播放链接。这种情况下,下载过程...
在本文中,我们将深入探讨如何使用代码来调整影片剪辑的属性,理解相对路径的应用,以及掌握赋值运算符的用法。 1. 影片剪辑属性调整: 影片剪辑在Flash中拥有多个可调整的属性,这些属性决定了它们在舞台上的表现...
**说明**:此属性指定用于解析影片中所有相对路径的基础地址。当影片及其所需的其他资源文件(如图像、声音等)位于不同的目录下时,此属性尤为重要。如果不指定Base属性,其默认值为".",即当前影片所在的目录。 *...
这一步相对简单,通过使用Shockwave Flash Object控件来实现。该控件通常在安装Flash时会自动安装到系统中,早期版本的文件名为`swflash.ocx`,而5.0及以上版本的文件名为`flash.ocx`,可以在系统目录下找到。下面是...
右键点击这个框,选择“属性”,在属性设置栏中,双击“自定义”,在“影片URL(M)”中填写SWF文件的完整路径及文件名。记得加上.swf扩展名。如果选择“嵌入影片”,Flash影片会被包含在PPT文件中,方便移动或复制,...
这可能涉及到相对路径和绝对路径的概念,以及如何在AS代码中构建这些路径。 3. **Sound类**:在ActionScript中,`Sound`类是处理音频的关键。我们需要创建一个`Sound`对象,然后使用`load()`方法加载MP3文件,最后...
确保文件路径正确无误,且与PowerBuilder工程位于同一目录下,或者提供相对路径。 2. **Quality**:控制Flash的播放质量,如“High”、“Low”或“Auto”。 3. **Scale**:决定如何缩放Flash内容以适应控件大小,...