无法将 flash.display::AVM1Movie 转换为 flash.display.MovieClip错误原因
要命的问题...原来是不同版本发布的swf,版本不兼容
AS3中如何获取外部加载SWF的帧数
我想在A.swf中加载影片B.swf 并获取到B.swf的当前帧和总帧数,并通过进度条显示B.swf的播放过程
但现象无法获取到B.swf的帧数
我的代码如下:
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
//变量声明
var contentSwf:MovieClip;
var url:String = "gk01.swf";
var loader:Loader = new Loader();
//loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,mcLoading);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadedHandler);
var request:URLRequest = new URLRequest(url);
loader.load(request);
addChild(loader);
function loadedHandler(event:Event):void {
trace(event.target.content);
trace(event.target.loader.content);
contentSwf = MovieClip(event.target.loader.content);
trace(contentSwf.totalFrames);
}
编译报错:
[object AVM1Movie]
[object AVM1Movie]
TypeError: Error #1034: 强制转换类型失败:无法将 flash.display::AVM1Movie@1118bcc1 转换为 flash.display.MovieClip。
at class_as3_fla::MainTimeline/loadedHandler()
flash player 中的 AVM1 和 AVM2 之间是不能相互通讯的,我的程序没有问题,而是我加载的外部SWF文件是flash 8编译的,在CS3中无法访问它的属性,将外部加载的SWF文件修改属性,重新用CS3发布一下就可以了。
崩溃死了,调了1个多小时~~~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2008-05-15 FLASH小蜜蜂游戏(源码)
2008-05-15 everythingflexairlib组件介绍及快速入门.
2008-05-15 flexlib介绍.及快速入门.
2008-05-15 FLEX如何读取XML文件.
2008-05-15 侦测ArrayCollection状态的变化.
2008-05-15 flash player 10 “astro” 来了
2008-05-15 Sun接连损兵折将-加入Adobe Flex阵营