- 浏览: 95108 次
- 性别:
- 来自: 上海
文章分类
最新评论
as3中ProgressEvent的bytesTotal始终为0
遇到很奇怪的问题,as3中监听资源下载的PROGRESS事件(ProgressEvent.PROGRESS),它的bytesLoaded属性倒是正常的,但bytesTotal属性却始终为0,结果是导致了得到的下载比率为无穷大(Infinity)
evt.bytesLoaded / evt.bytesTotal <==> evt.bytesLoaded / 0
在网上搜索了一下,有以下三种情况导致bytesTotal始终为0:
1、如果将进度事件调度/附加到某个 Socket 对象,则 bytesTotal 将始终为 0,参考ProgressEvent的事件对象>>
2、从php里动态加载内容导致的bytesLoaded始终为0,解决方案>>
3、web服务器开启gzip导致
如果是gzip开启问题导致的,一般的的解决办法是修改PHP文件
<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?>
因开发环境是在Windows下,而web服务器使用的是nginx,然后查看了一下nginx.conf的配置,发现gzip是开启的,但只是对以下的文件类型才进行压缩
gzip_types text/plain application/x-javascript text/css application/xml image/jpeg image/gif image/png;
而swf的文件类型应该是application/x-shockwave-flash,即使如此依然不行。
然后清空了缓存再试,起作用了,无穷大不再存在了。
而为何开启gzip会影响到swf获取byteTotal呢?nginx并未对swf文件作特殊的处理啊!
我用httpwatch抓取swf的下载,发现其http header在gzip开启的情况下还是有的,这种现象很难解释了,gzip对swf的加载起到了什么影响?难道正如那篇文章所讲的,返回的http header里没有Content-Length属性?而我抓到的却是有的…
不管怎么样,问题是解决了,可是疑惑却加重了…
遇到很奇怪的问题,as3中监听资源下载的PROGRESS事件(ProgressEvent.PROGRESS),它的bytesLoaded属性倒是正常的,但bytesTotal属性却始终为0,结果是导致了得到的下载比率为无穷大(Infinity)
evt.bytesLoaded / evt.bytesTotal <==> evt.bytesLoaded / 0
在网上搜索了一下,有以下三种情况导致bytesTotal始终为0:
1、如果将进度事件调度/附加到某个 Socket 对象,则 bytesTotal 将始终为 0,参考ProgressEvent的事件对象>>
2、从php里动态加载内容导致的bytesLoaded始终为0,解决方案>>
3、web服务器开启gzip导致
如果是gzip开启问题导致的,一般的的解决办法是修改PHP文件
<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?>
因开发环境是在Windows下,而web服务器使用的是nginx,然后查看了一下nginx.conf的配置,发现gzip是开启的,但只是对以下的文件类型才进行压缩
gzip_types text/plain application/x-javascript text/css application/xml image/jpeg image/gif image/png;
而swf的文件类型应该是application/x-shockwave-flash,即使如此依然不行。
然后清空了缓存再试,起作用了,无穷大不再存在了。
而为何开启gzip会影响到swf获取byteTotal呢?nginx并未对swf文件作特殊的处理啊!
我用httpwatch抓取swf的下载,发现其http header在gzip开启的情况下还是有的,这种现象很难解释了,gzip对swf的加载起到了什么影响?难道正如那篇文章所讲的,返回的http header里没有Content-Length属性?而我抓到的却是有的…
不管怎么样,问题是解决了,可是疑惑却加重了…
发表评论
-
Android游戏开发
2011-07-01 15:26 196Android开发中Activity是个 -
Flash WebGame 开发经验心得和PureMVC框架细说
2011-06-28 14:02 1549→前端的主程序架构和模块划分与人手和人事分工是紧密联系在一起的 ... -
Flash中的深度排序
2011-06-28 11:34 1274As for Multiplayer Games and Vi ... -
Flex 中的callback
2011-06-28 11:16 964Flash支持传递函数做完参数传递。 下面是主函数中的方法 ... -
常用flash引擎和框架
2011-06-27 11:08 2985官方在线帮助(没标英文的都是中文) 用于 Adobe Flas ... -
原来flash player对图片的解码不是异步的,AIR2.6后就异步了
2011-06-27 10:53 850用过 Loader 对象的人都知道,加载图片时,无论是使用 l ... -
Flash WebGame 开发经验心得和PureMVC框架细说
2011-06-27 10:32 1067→前端的主程序架构和模块划分与人手和人事分工是紧密联系在一起的 ... -
简要评说Adobe的FlashPlayer的渲染算法
2011-06-27 10:22 1025前些时候看到CSDN上一篇文章介绍FlashPlayer的渲染 ... -
游戏中的智能寻路
2011-05-22 18:20 1269近年来,游戏产业的快 ... -
使用URI-Style Namespace编译ActionScript/Flex Library
2011-05-12 11:10 819当你开发了一个有着多个Pacakge的类库,并在MXML中使用 ... -
环境贴图
2011-03-29 10:49 1095教程:实时环境映射贴图技术实时环境映射贴图技术(Real-ti ... -
Python之旅
2010-12-09 19:40 948一直用AS3+Red5做一些小游戏,感觉挺方便的,特别在做上下 ... -
flash player10的rotationY的使用
2010-12-07 12:26 1607flash player10提供了对3D的支持,虽然功能不够强 ... -
red5的常用方法
2010-12-03 10:11 976在使用red5+flash做rpg游戏开发的时候有些功能是需要 ... -
PV3d性能优化
2010-11-25 14:19 1346当你优化你的程序时, ... -
PV3D处理3D矢量绘图与3D文本
2010-08-23 11:46 1160Papervision3D主要以位图为 ... -
Flash中矢量和位图的使用
2010-06-09 16:47 889最近在做一个世界地图的Flash,其中导入一个很大的矢量图形, ... -
flex 3 + .net开发flash Remoting四[完整代码
2010-03-02 20:49 761一. 相关说明: 本 ... -
关于PV3D常用材质的讨论
2009-12-17 14:05 1113PV3D中的贴图材质有很多。 颜色材质Co ... -
AS3中的loading与stage
2009-12-16 13:53 1009在AS3中如果用loading在主flash中是不能使用sta ...
相关推荐
动态加载是AS3中一个重要的概念,它允许程序在运行时根据需要加载资源,如图片、音频或XML数据。使用`Loader`类和`URLLoader`类可以实现这一功能。在进度条应用中,我们需要监听加载事件,如`ProgressEvent....
这个经典模板范例对于理解和掌握AS3中的资源加载和进度控制非常有帮助,无论是初学者还是经验丰富的开发者,都能从中受益。通过实践和理解这样的代码,你可以更好地处理复杂的项目,提供更流畅的用户体验。
在AS3中,可以通过监听`ProgressEvent.PROGRESS`事件,获取到`event.bytesLoaded`和`event.bytesTotal`,它们分别表示已加载的字节数和总字节数。利用这两个值计算当前加载进度,并更新填充条的尺寸。 5. **显示...
在AS3中,预加载通常涉及到以下几个关键知识点: 1. **事件监听器**:AS3中的事件驱动模型是预加载的核心。你需要监听`Event.ENTER_FRAME`和`ProgressEvent.PROGRESS`事件来跟踪加载进度。`ENTER_FRAME`事件在每一...
Loader类是AS3中负责加载不同类型的媒体资源,包括图像、SWF、XML等的核心类。它有一个contentLoaderInfo属性,该属性包含了关于加载过程的信息,如总字节数、已加载字节数以及加载进度。 要创建一个进度条,我们...
在AS3中,我们可以使用`Microphone`类来访问用户的麦克风设备,并实现录音功能。首先,我们需要获取用户麦克风的实例: ```actionscript var microphone:Microphone = Microphone.getMicrophone(); ``` 接着,设置...
在AS3中,FileReference类用于处理文件选择和上传。首先,我们需要创建一个FileReference对象,并监听它的“select”事件,当用户选择文件后触发该事件。 ```actionscript var fileRef:FileReference = new ...
在AS3中,加载外部文件涉及到从服务器或本地磁盘读取并解析数据,将其转换为可以在应用程序中使用的格式。这包括但不限于图像、音频、视频、文本文件、SWF文件等。通过加载外部文件,开发者能够动态地更新内容,提高...
本文将深入探讨AS3声音架构的设计理念及其核心组件的功能特性,帮助读者更好地理解和应用AS3中的声音处理技术。 #### 声音架构概述 AS3中的声音架构被设计成高度模块化和可扩展的,旨在简化开发者在创建多媒体应用...
BulkLoader是AS3中的一个第三方库,专门用于管理批量资源的加载,从而提高性能和用户体验。 BulkLoader的用法主要包括以下几个关键步骤: 1. **导入库**:首先,你需要将BulkLoader库引入到你的项目中。这通常...
在Flex中实现FTP上传,我们主要依靠AS3(ActionScript 3)的类库,如Flash的net模块中的`flash.net.FTP`类,该类提供了FTP客户端的功能。 首先,我们需要创建一个Flex项目,并引入相关的库。在Flex Builder或使用...
`FileReference`是AS3中的一个核心类,它允许用户与本地文件系统进行交互,比如选择、读取、保存和上传文件。在Flex项目中,我们可以利用MXML和AS3代码结合的方式来实现这一功能。 **1. 单文件上传** 首先,我们...
在给定的文件信息中,我们看到了一段与Flash和AS3.0相关的代码,这段代码主要涉及了事件监听、SWF文件加载、进度处理以及动画控制等几个关键的知识点。 ### 1. 事件监听 在Flash开发中,事件监听是实现用户交互的...
在文档中提到,可以通过修改子SWF的类来接收外部传入的参数,这展示了AS3中更加安全和可控的通信机制。 Loader类不仅用于加载SWF和图像,还可以加载其他类型的数据,如XML或文本文件,这在构建动态内容和数据驱动的...
在IT行业中,动态加载图片是一项基础且重要的技术,特别是在网页设计、游戏开发或者移动...在实际项目中,动态加载图片不仅可以优化页面加载速度,还能提高用户体验,特别是在处理大量图片或响应式设计时显得尤为重要。
3. **Loader类**:在AS3中,`Loader`类用于加载外部资源,如SWF、图片或音频文件。我们可以利用`Loader`类的`contentLoaderInfo`属性来获取加载的进度信息。 4. **事件监听**:使用`addEventListener`方法添加`...
1. **创建Loader对象**:在AS3中,你需要创建一个Loader类的实例,它是负责加载各种类型内容的对象。例如: ```actionscript var loader:Loader = new Loader(); ``` 2. **指定加载目标**:使用Loader的`load()`...
1. **Loader类**:这是AS3中的核心类,用于加载各种类型的内容,如图片、音频、视频或SWF文件。通过创建Loader对象,我们可以指定要加载的URL,并将其添加到显示列表中。 2. **Event监听器**:为了获取加载进度,...
3. **Flex与Excel交互**:为了实现Flex与Excel文件的交互,我们需要借助第三方库,例如`as3xls`。 #### 三、核心知识点解析 ##### 3.1 读取Excel文件 1. **文件选择与上传**: - 使用`FileReference`类来选择并...
在IT行业中,Flash是一款历史悠久的交互式多媒体创作工具,它曾经是网页动画和交互设计的首选平台。在本文中,我们将深入探讨“Flash常用代码”这一主题,这是一些适用于初学者的基础编程知识,旨在帮助他们掌握...