急求:Scrollpane中怎么置入duplicateMovieClip出来的Movie Clip对象?

楚人无衣 2005-06-02 09:23:46
这几天在因项目需要在研究Flash MX,用到一个功能,就是一个Movie Clip对象,起名叫mcSlide吧,在场景中动态复制若干个对象,如下代码:
for (i = 0; i < 4; i++) //这里4为举例证,实现情况为一数值
{
mcSlide.duplicateMovieClip("mcSlide" + i, i);
eval("mcSlide" + i).mcActiveHighlight._visible = false;
eval("mcSlide" + i).sTopic.text = "mcSlide" + i; //sTopic为其中一动态文本对象
eval("mcSlide" + i).ldrSlide.loadMovie("tb" + (i+1).toString() + ".swf"); //ldrSlide为其中一Loder控件
eval("mcSlide" + i)._x = 525;
eval("mcSlide" + i).swfPath = "slide" + (i+1).toString() + ".swf";
eval("mcSlide" + i)._y = i * (mcSlide._height + 8) + 88; //自设之变量,为以后用
}
这样运行的结果倒是在场景中生成了指定个数的Movie Clip对象从上到下排列并如代码所示一样加入了文本及载入swf等操作,现在我想要的是这些Movie Clip置入场景中一Scrollpane实例中并受其控制;帮助中说明Scrollpane可载入swf、图片及影片剪辑等,前面两种且不说,就是加入影片剪辑,则要加入的剪辑须在库中存在并已设好连接标识符,我却没办法加入我想要的在场景中复制出来的那些Movie Clip;我曾想能否新建一剪辑mcGuide,设定其连接标识符,置其入Scroll;ane实例中,然后怎么能把那些复制出来的Movie Clip加入mcGuide中并且能在Scrollpane中体现出来呢?高手们请帮我!!不限于此方法,能用其它方法实现此功能也好;我要实现的目的是在Scrollpane中的每个Movie Clip对象都能响应鼠标事件,这在mcSlide中已有个按钮并且能实现,现在想要的就是置入……这个贴子http://community.csdn.net/Expert/topic/3666/3666592.xml?temp=.6904566或许对我有些帮助,可是联系不到楼主和abbaboy(静止的云),卡了两天了,急用啊!
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fklyzlwq 2005-06-02
  • 打赏
  • 举报
回复
首先,trace(mc._name);這句如果有輸出,那麼MC就可以直接操作了.如果輸出是undefined,那麼你要嘗試一下其它的方法,就是我剛才說的引用不成功的時候使用的方法.另外, spslide.setScrollContent(mc);這句我記得好像是MX裡Scrollpane的方法.MX2004自帶的Scrollpane組件沒有這個方法,不清楚你用的是否第三方寫的組件.不過你之前已經用spslide.contentPath = "mcGuide";設定了路徑,而mc又是該對象的引用,那麼這裡變成遞歸了.總感覺怪怪的.還有一個問題就是,居我所知.第三方寫的組件好像也沒有即支持contentPath,又支持setScrollContent的,我有很長一段時間沒寫AS,記不太清楚了,說錯了別見怪.
你還可以先試試這個方法,如果成功了.再嘗試你當前的想法
直接在Library中生成現在效果的范本.然後用ScrollPane加載.如果成功.就將范本換成空的MC.引用它.然後用trace跟蹤它,看看是否成功.不成功再換另外的方法.直到成功為止.
楚人无衣 2005-06-02
  • 打赏
  • 举报
回复
mc.attachMovie("mcSlide", "mc" + i, i);这一句,我总觉的不对;mcSlide也是mcSlide的链接标识符
楚人无衣 2005-06-02
  • 打赏
  • 举报
回复
您好,我用的是Flash MX 2004,其实我实际的代码如下面所示,你指导一下:
initSwf();

function initSwf()
{
spslide.contentPath = "mcGuide"; //库中的mcGuide对象,里面载mcSlide用
mc = _root.spslide.content; //spslide是一个Scrollpane在场景中的实例
trace(mc._name);
for (i = 0; i < 4; i++)
{
mcSlide.duplicateMovieClip("mcSlide" + i, i);
eval("mcSlide" + i).mcActiveHighlight._visible = false;
eval("mcSlide" + i).sTopic.text = "mcSlide" + i;
eval("mcSlide" + i).ldrSlide.loadMovie("tb" + (i+1).toString() + ".swf");
eval("mcSlide" + i)._x = 525;
eval("mcSlide" + i).swfPath = "slide" + (i+1).toString() + ".swf";
eval("mcSlide" + i)._y = i * (mcSlide._height + 8) + 88;
mc.attachMovie("mcSlide", "mc" + i, i);
}
spslide.setScrollContent(mc);
spslide.refreshPane();
}
这样却出不来我要的结果,看一下,这样对吗?
fklyzlwq 2005-06-02
  • 打赏
  • 举报
回复
MX可以加載由AS生成的MC,但2004則必須從Library中加載.
你說的MX是指MX2004還是MX?記得MX是沒有Loader的.
如果是MX.則可以先用AS生成一個MC,把這個MC加載到Scrollpane中.然後直接用這個MC加載需要的按鈕.
如果是MX2004,則必須事先創建一個空MC到Library中,運行的時候將這個MC用contentPath屬性加載到Scrollpane中.然後指定一個引用.XXX = scrollPane.content(好像是這個屬性),然後直接加載就OK.
如果引用不成功.可以加入targetPath函數(或_target屬性)試試
楚人无衣 2005-06-02
  • 打赏
  • 举报
回复
//自设之变量,为以后用--这个注释应该在eval("mcSlide" + i).swfPath = "slide" + (i+1).toString() + ".swf";后的,我标错了
楚人无衣 2005-06-02
  • 打赏
  • 举报
回复
我用了个迂回的方法解决,把复制mcSlide的Movie Clip的代码写在mcGuide中,如下,在mcGuide的第一帧:
initGuide();

function initGuide()
{
this.mcSlide.visible = false;
for (i=0; i<4; i++) {
duplicateMovieClip("mcSlide", "mcSlide"+i, i);
eval("mcSlide"+i).mcActiveHighlight._visible = false;
eval("mcSlide"+i).sTopic.text = "mcSlide"+i;
eval("mcSlide"+i).ldrSlide.loadMovie("tb"+(i+1).toString()+".swf");
eval("mcSlide"+i)._x = 73;
eval("mcSlide"+i).swfPath = "slide"+(i+1).toString()+".swf";
eval("mcSlide"+i)._y = i*(mcSlide._height+5)+70;
}
}
此mcGuide已设好连接标识符,亦为"mcGuide",然后Scrollpane的contentPath设为此"mcGuide"就可以了;也可在影片开始处动态设置:
initSwf();

function initSwf()
{
_root.spslide.contentPath = "mcGuide";
}
这样就要实现我的要求;多谢fklyzlwq(游骑兵),以后有Delphi问题可一起交流。
Java2实用教程 rar 第1章Java入门 1 1Java的诞生 1 2Java的特点 1 3安装Sun公司的SDK 1 4一个Java程序的开发过程 1 5一个简单的Java应用程序的开发过程 1 6一个简单的Java小应用程序 1 7什么是JSP 习题 第2章标识符 关键字和数据类型 2 1标识符和关键字 2 2Java的基本数据类型 2 3Java的数组 习题 第3章运算符 表达式和语句 3 1运算符与表达式 3 2语句概述 3 3控制语句 3 4 循环语句 3 5break和continue语句 习题 第4章类 对象和接口 4 1编程语言的几个发展阶段 4 1 1机器语言 4 1 2过程语言 4 1 3面向对象编程 4 2类 4 2 1类声明 4 2 2类体 4 2 3成员变量和局部变量 4 2 4方法 4 2 5方法重载 4 2 6构造方法 4 2 7类方法和实例方法 4 2 8值得注意的问题 4 3对象 4 3 1创建对象 4 3 2使用对象 4 3 3于象的引用和实体 4 3 4参数传值 4 4static关键字 4 4 1实例变量和类变量的区别 4 4 2实例方法和类方法的区别 4 5this关键字 4 6包 4 6 1包语句 4 6 2import语句 4 6 3将类打包 4 7访问权限 4 7 1私有变量和私有方法 4 7 2共有变量和共有方法 4 7 3友好变量和友好方法 4 7 4受保护的成员变量和方法 4 7 5public类与友好类 4 8类的继承 4 8 1子类 4 8 2子类的继承性 4 8 3成员变量的隐藏和方法的重写 4 8 4final关键字 4 9对象的上转型对象 4 10多态性 4 11abstract类和abstract方法 4 12super关键字 4 13接口 4 13 1接口的声明与使用 4 13 2理解接口 4 13 3接口回调 4 13 4接口做参数 4 14内部类 4 15匿名类 4 15 1和类有关的匿名类 4 15 2和接口有关的匿名类 4 16异常类 4 16 1try catch语句 4 16 2自定义异常类 4 17Class类 4 17 1获取类的有关信息 4 17 2使用Class实例化一个对象 4 18基本类型的类包装 4 18 1Double类和Float类 4 18 2Byte Integer Short 工 ong类 4 18 3Character类 4 19反编译和文档生成器 4 20JAR文件 4 20 1将应用程序压缩为JAR文件 4 20 2将类压缩成JAR文件 4 20 3更新 查看JAR文件 习题 第5章字符串 5 1字符串 5 2字符串的常用方法 5 3字符串与基本数据的相互转化 5 4对象的字符串表示 5 5StringTokenizer类 5 6字符串与字符 字节数组 5 7StringBuffer类 5 8正则表达式 习题 第6章时间 日期和数字 6 1Date类 6 2Calendar类 6 3Math类 6 4BigInteger类 习题 第7章AWT组件及事件处理 7 1Java窗口 7 1 1 Frame常用方法 7 1 2菜单条 菜单 菜单项 7 1 3窗口与屏幕 7 2文本框 7 2 1TextField类的主要方法 7 2 2文本框上的ActionEvent事件 7 3内部类实例做监视器 7 4按钮与标签 7 4 1标签组件 7 4 2按钮组件 7 5菜单项 7 6文本区 7 6 1TextArea类主要方法 7 6 2文本区上的TextEvent事件 7 7面板 7 7 1Panel类 7 7 2ScrollPane类 7 8布局 7 8 1FlowLayout布局 7 8 2BorderLayout布局 7 8 3CardLayout布局 7 8 4GridLayout布局 7 8 5BoxLayout布局 7 8 6null布局 7 9画布 7 10选择型组件 7 10 1选择框 7 10 2下拉列表 7 10 3滚动列表 7 11Component类的常用方法 7 12窗口事件 7 13鼠标事件 7 14焦点事件 7 15键盘事件 7 16使用剪贴板 7 17打印 7 18综合实例 习题 第8章建立对话框 8 1Dialog类 8 2文件对话框 8 3消息对话框 8 4确认对话框 8 5颜色对话框 习题 第9章Java多线程机制 9 1Java的线程 9 2Thread类的子类创建线程 9 3使用Runnable接口 9 4线程的常用方法 9 5GUI线程 9 6线程同步 9 7在同步方法使用wait notif 和nodf3 All 方法 9 8挂起 恢复和终止线程 9 9计时器线程Timer 9 10线程联合 9 11守护线程 习题 第10章输入输出流 10 1File类 10 2FileInputStream类 10 3FileOutputStream类 10 4FileReader类和FileWriter类 10 5使用文件对话框打开和保存文件 10 6RandornAccessFile类 10 7数据流 10 8数组流 10 9对象流 10 10序列化与对象克隆 10 11文件锁FileLock 10 12Process类的流 10 13带进度条的输入流 习题 第11章Java网络的基本知识 11 1使用URL 11 2读取URL的资源 11 3显示URL资源的HTML文件 11 4处理超链接 11 5InetAdress类 11 6套接字 11 7网络的数据压缩与传输 11 8UDP数据报 11 9广播数据报 习题 第12章JavaApplet基础 12 1JavaApplet的运行原理 12 2网页向JavaApplet传值 12 3JavaApplet扣使用URL 12 4JavaApplet建立新线程 12 5JavaApplet使用套接字 习题 第13章常见数据结构的Java实现 13 1链表 13 2栈 13 3树集 13 4树映射 13 5散列集 13 6散列表 13 7向量 习题 第14章图形与图像 14 1绘制文本 14 2绘制基本图形 14 3建立字体 14 4清除 14 5Java2D 14 6图形的布尔运算 14 7绘制钟表 14 8绘制图像 14 9制作JPG图像 14 10XOR绘图模式 14 11打印图形 图像 习题 第15章Java数据库连接 JDBC 15 1创建数据源 15 2JDBC ODBC桥接器 l5 3顺序查询 15 4可滚动结果集 15 5排序查询 15 6模糊查询 15 7随机查询 15 8更新 添加 删除记录 l5 9预处理语句 15 10数据库访问的套接字技术 习题 第16章Java与多媒体 16 1在小程序播放音频 16 2在另一个线程创建音频对象 16 3在应用程序播放音频 16 4Java媒体框架 JMF 习题 第17章JavaSwing基础 17 1几个重要的类 17 2间容器 17 3各种组件 习题">Java2实用教程 rar 第1章Java入门 1 1Java的诞生 1 2Java的特点 1 3安装Sun公司的SDK 1 4一个Java程序的开发过程 1 5一个简单的Java应用程序的开发过程 1 6一个简单的Java小应用程序 1 7什么是JSP 习题 第2章标识符 关键字和数据类型 2 1标识 [更多]

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧