My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 图形图象 > 网页设计 > Flash
MX中如何实现swf文件的完美跳转
作者:未知 时间:2005-04-05 12:12 出处:ChinaZ.com 责编:MyFAQ
              摘要:MX中如何实现swf文件的完美跳转
使用 loadMovieNum 动作将影片加载到 Flash Player 中以后,必须使用 _leveln 属性来定位这些影片.level0 中的影片为所有随后加载的影片设置帧频、背景色和帧大小。那么level0 必须是独立存在的.也就是不能将其unloadMovie(level0)了.不然播放器中什么也没有了(播放器中右键你会看到"没有加载影片"),而且所要控制的SWF必须提前加载进来)这就要给一个按钮指定两个事件动作.(加载及跳转)

即从1.swf中的某一帧跳转到2.swf中的某一帧(用按钮)(MX版)。

我试过在1.swf中的最后一帧的一个按钮中加上如下AS:

on(realease){
unloadMovie("1.swf");
loadMovie("2.swf",0);

gotoAndPlay("场景 2",1); // 这里指2.swf中的场景2第1帧。}

问题1:unloadMovie("1.swf");这一句无用.(不起任何作用.)

参见:unloadMovie(level/"target")的用法.

问题2:l你是在1.SWF中加载2.SWF.1.SWF就相当于level0,可你按下按钮后就执行LoadMovie("2.swf",0);加载2.swf并设深度为0(也就是使它成为level0),执行到这一句后.在该语句之后的所有语句全部不起作用了.(因为2.swf已经把1.swf替换掉了.).

问题3:影片发布后(编译后),已经不存在场景的概念了.多场景将按照它们在场景面板中的顺序转换成一个长长的时间轴.gotoAndPlay("场景 2",1); 将会被替换成gotoAndPlay(n);(n是根据场景1计算出场景2的实际帧号 如:场景1有18帧.那么场景二个第一帧的帧号为19*/)

因为要控制加载的SWF文件.那么必须在控制前加载它,所以加载与控制跳转.要分为两步来进行.也就是给按钮分配两个事件动作.

on (press) {
loadMovieNum("2.swf", 1);/*加载2.swf,设其深度为1,因为此时1.swf的_level为0,我们要用它来控制加载及跳转.*/
_level0._alpha=0 ;//按下钮后暂时让1.SWF不可见.(为了美观)}
on (release) {
_level1.gotoAndStop(19);//2.swf中的场景2第一帧的实际帧号.
_level0._visible = 0;/*将1.swf内容设为不可见,(可以删除这句看一下可见下的情况),你会发现有什么问题呢?呵呵,是不是1.SWF里的按钮还在起作用?*/
}

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有