主题:  关于loadmovie/unloadmovie的详细求教

恐龙特急克塞号

职务:普通成员
等级:3
金币:3.0
发贴:948
#12002/8/13 14:04:05
请各位前辈指点一下小人的几个问题,望不惜赐教!
1、在某个scene中用loadmovie导入的.swf动画,(比如名为1.swf的动画),要unloadmovie它,是不是只有到1.swf中用unloadmovie才行?(或者在1.swf中loadmovie 其他动画替换),那原来的那个scene所在的动画,(假设名为0.swf),在执行到loadmovie后就实际跳到1.swf中去了吗?----为什么我做的flash每当遇到loadmovie运用时就无法再回到最原来的那个scene?害得我只有通过一个又一个的loadmovie不停的镶套,用这种笨办法来使得动画继续下去.
2、loadmovie 是不是只有加在在scene的第一个frame中才能奏效啊?我试 了好多次,发现只有在scene的第一个frame里加入loadmovie 语句时他才如预想的执行,不知道有什么其他的办法吗?
哈哈,或许是我太笨了 ,请大家帮我解答一下吧,也顺便教小弟几招--------(-:


克塞,前来拜访!

恐龙特急克塞号

职务:普通成员
等级:3
金币:3.0
发贴:948
#22002/8/13 16:40:55
我 知道如果loadmovie在-root层的mc的话会被完全替换,但我不在-root层loadmovie时也无法回到原来的主动画场景.
例如,我在0.swf中载入1.swf时,是先在0.swf中主scene中加了一个mc1,而mc1的内容中我放了一个mc2,mc2 的内容则只执行一个loadmovie("xxx.swf",-root.mc1.mc2),
输出的动画每次到了xxx.swf动画结束时就停留在xxx.swf的画面,无法回到o.swf的画面了,请问怎么解决呢?!


克塞,前来拜访!

Blackflash.Qi

职务:版主
等级:7
金币:17.0
发贴:6028
#32002/8/14 9:13:20
转到编程区



5D荣誉版主

职务:普通成员
等级:2
金币:1.0
发贴:515
#42002/8/15 11:26:40
1.我习惯把movie load到mc里:
loadMovie("1.swf","container");
卸载:
container.unloadMovie()
2.什么时候写loadMovie都是有用的,只是要对load进来的movie操作的话,最好判断一下movie是否存在并开始load或load完毕。
if(container.getBytesTotal>0){
you code
}
注意:
在写loadMovie的那一桢执行类似container.gotoAndPlay(2)之类的语句往往会得到一个错误,最好滞后几桢再对其进行操作。



doi

职务:普通成员
等级:1
金币:0.0
发贴:39
#52002/8/15 14:04:22
mmommo在上个帖子中说
引用:
1.我习惯把movie load到mc里:
loadMovie("1.swf","container");
卸载:
container.unloadMovie()
2.什么时候写loadMovie都是有用的,只是要对load进来的movie操作的话,最好判断一下movie是否存在并开始load或load完毕。
if(container.getBytesTotal>0){
you code
}
注意:
在写loadMovie的那一桢执行类似container.gotoAndPlay(2)之类的语句往往会得到一个错误,最好滞后几桢再对其进行操作。


为什么movie load到mc里的程序就没有拖拽功能呢?(拼图程序)



5D荣誉版主

职务:普通成员
等级:2
金币:1.0
发贴:515
#62002/8/15 14:18:34
startDrag?
我刚刚试了一下,可以的阿。
还是那句话:
不要在写loadMovie的那一桢对load进来的movie操作。
最好滞后几桢,或用onEnterFrame循环判断:
this.onEnterFrame=function(){
if(container.getBytesTotal>0){
startDrag(container)
this.onEnterFrame=undefined
}
}



doi

职务:普通成员
等级:1
金币:0.0
发贴:39
#72002/8/15 14:51:29
我还是不大明白。
www.rd-mp.com/swfandswf.zip
程序原文件,能帮助解决吗?



5D荣誉版主

职务:普通成员
等级:2
金币:1.0
发贴:515
#82002/8/15 15:06:48
on (press) {
    startDrag("/9", true);
    }

问题就在这了拉:
"/9", 指的是根目录下的9
而把火车运动.swf load 到main中,根目录指的是mian的场景1
而只有在mian/场景1/mc1中才有9
解决:
把"/9"改成:this
其它同理。
或:
把mian里的as改成:
on(press){
    loadMovieNum("火车运动.swf", 0);
}



doi

职务:普通成员
等级:1
金币:0.0
发贴:39
#92002/8/15 15:18:00
哇,谢谢版主。
如果用
on(press){
loadMovieNum("火车运动.swf", 0);
}
就是把“火车运动”放在了_level0上?
主要我是想调入后可以unlodmovie,在哪加这个命令呢?是按钮解发的,可是“火车运动.swf”调入后把所有的按钮都覆盖了!



5D荣誉版主

职务:普通成员
等级:2
金币:1.0
发贴:515
#102002/8/15 15:21:51
另外:
在mx里,用循环就可以生成btn的onPress事件没必要一个一个打了。
btn外面也没必要再套一个空的mc了,可以drag btn,和mc一样用。
for(i=1;ieval("btn"+i).onPress=startDrag(this,true)
}
很方便吧。



5D荣誉版主

职务:普通成员
等级:2
金币:1.0
发贴:515
#112002/8/15 15:25:56
doi在上个帖子中说
引用:
哇,谢谢版主。
如果用
on(press){
loadMovieNum("火车运动.swf", 0);
}
就是把“火车运动”放在了_level0上?
主要我是想调入后可以unlodmovie,在哪加这个命令呢?是按钮解发的,可是“火车运动.swf”调入后把所有的按钮都覆盖了!

麻烦,最好还是都改成相对路径。这可是个好习惯。我有一阵子老用loadMovie,都不敢轻易用_root,哈哈。



doi

职务:普通成员
等级:1
金币:0.0
发贴:39
#122002/8/15 15:30:27
真正的高手!能否加入QQ?
例如:
if (_droptarget eq "/33") {
setProperty("/3", _x, getProperty("/33", _x));
setProperty("/3", _y, getProperty("/33", _y));
/:a=/:a+1

/3和/33的相对路径怎么写呢~~



5D荣誉版主

职务:普通成员
等级:2
金币:1.0
发贴:515
#132002/8/15 16:10:08
on (release) {
    stopDrag();
    if (eval(_droptarget) == _parent["99"]) {
        this._x = _parent["99"]._x;
        this._y = _parent["99"]._y;
        _global.a++;
        if (_global.a == 9) {
            loadMovieNum("火车运动了.swf", 1);
        }
    } else {
        setProperty("", _x, "98.9");
        setProperty("", _y, "320");
    }
}

随便该了改,
建议不要再用f4的写法了。我从f5开始接触flash,所以,f4的写法我还真不熟。
还有,最好都用英文名,也不要用单单的数字命名mc,要是改成m99的话,就可以直接打_parent.m99了。
另外,你的火车运动.swf场景里的_global拼错了。
我老不用qq,有问题还是来这里吧,或mail我啊。



doi

职务:普通成员
等级:1
金币:0.0
发贴:39
#142002/8/15 17:05:08
55,感动。我是多媒体程序工作者。学flash一个星期了!swf文件的相互调用困扰了我三四天!(估计再过一个星期就得失业了)版主不厌其烦帮助我解决问题,令我非常感动!再次感谢mmommo的帮助^_^



恐龙特急克塞号

职务:普通成员
等级:3
金币:3.0
发贴:948
#152002/8/18 18:24:08
我自己对这个基本的东东还是很搞不明白,苦恼-----------


克塞,前来拜访!