软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 设计在线 > 媒体动画 > addChild和removeChild的问题及解决方法

addChild和removeChild的问题及解决方法

  烈火网(LieHuo.Net)教程 在场景里建2个mc aa和bb,用意是点击aa,则循环addchild10次库里的mc出来(这个mc10%透明),然后点击bb则把它们都清掉,再点aa,就又addChild出来,代码如下:

以下为引用的内容:
package {
       import flash.display.*;
       import flash.events.MouseEvent;

       public class test extends MovieClip {
              var tempMC:MC;
              var container:Sprite = new Sprite();
              public function test() {
                            
                            aa.buttonMode = true;
                            aa.addEventListener(MouseEvent.CLICK,Creat);
                            
                            bb.buttonMode = true;
                            bb.addEventListener(MouseEvent.CLICK,dele);
                            
                            function Creat(){
                                   addChild(container);                                   
                                   var i:int;
                                   for(i=0; i<10; i++){      
                                          tempMC = new MC();
                                          tempMC.x = 20*i;
                                 container.addChild(tempMC);       
                                   }
                            }
                            
                            function dele(){
                                   removeChild(container);
                            }
              }              
       }
}

  现在发现问题是我每次点击aa,它addChild的层叠就越多,第一次10%透明,第二次就是2*10%,第三次……最后就是一个大黑块了。在此,想问问高手,我的写法是不是有错误?请帮忙改正。addChild和removeChild的问题。

  解决方法:

  addChild(container);
  removeChild(container);
  这两个只是从显示列表里删除和添加,并不是真正意义上的删除,所以每次都添加都是从上次的累计效果

  这个问题,你可以改为
以下为引用的内容:
function Creat(){
  var container:Sprite = new Sprite();
  addChild(container);
...
}

function dele(){
  removeChild(container);
  container = null;
}
    相关阅读
    栏目导航
    推荐软件