# Remove child from event listener

**URL:** <https://forum.kirupa.com/t/remove-child-from-event-listener/261268>\
**Category:** Uncategorized\
**Created:** [May 25, 2008, 1:05pm UTC](https://forum.kirupa.com/t/remove-child-from-event-listener/261268 "2008-05-25T13:05:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![RebuiltJorge](https://avatars.discourse-cdn.com/v4/letter/r/94ad74/32.png) [@RebuiltJorge](https://forum.kirupa.com/u/RebuiltJorge)\
**Post date:** [May 25, 2008, 1:05pm UTC](https://forum.kirupa.com/t/remove-child-from-event-listener/261268/1 "2008-05-25T13:05:41Z")

</div>

ok I have a game that at a certain point starts to omit particles, I give them motion through an event listener called **moveParticles** , however whenever I try to remove them from the display list, my program crashes,

```
ActionScript Code:
[LEFT][COLOR=#808080]*//EMITS PARTICLES*[/COLOR]
    [COLOR=#0000FF]public[/COLOR] [COLOR=#000000] **function** [/COLOR] addParticles[COLOR=#000000]([/COLOR]x,y[COLOR=#000000])[/COLOR][COLOR=#000000]{[/COLOR]
        [COLOR=#000000] **var** [/COLOR] particle:[COLOR=#0000FF]MovieClip[/COLOR];
        
        [COLOR=#0000FF]for[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000] **var** [/COLOR] i:[COLOR=#0000FF]int[/COLOR] = [COLOR=#000080]0[/COLOR]; i &lt; [COLOR=#000080]200[/COLOR]; i++[COLOR=#000000])[/COLOR][COLOR=#000000]{[/COLOR]
            particle = [COLOR=#000000] **new** [/COLOR] [COLOR=#0000FF]MovieClip[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR];
            randomParticleX = [COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]random[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR] * [COLOR=#000080]60[/COLOR] - [COLOR=#000080]30[/COLOR];
            randomParticleY = [COLOR=#0000FF]Math[/COLOR].[COLOR=#0000FF]random[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR] * [COLOR=#000080]60[/COLOR] - [COLOR=#000080]30[/COLOR];
            particle.[COLOR=#000080]movementX[/COLOR] = randomParticleX;
            particle.[COLOR=#000080]movementY[/COLOR] = randomParticleY;
            particle.[COLOR=#000080]x[/COLOR] = x;
            particle.[COLOR=#000080]y[/COLOR] = y;
            
            particle.[COLOR=#000080]graphics[/COLOR].[COLOR=#0000FF]lineStyle[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000080]1[/COLOR][COLOR=#000000])[/COLOR];
            particle.[COLOR=#000080]graphics[/COLOR].[COLOR=#0000FF]beginFill[/COLOR][COLOR=#000000]([/COLOR]0xFFFFFF[COLOR=#000000])[/COLOR];
            particle.[COLOR=#000080]graphics[/COLOR].[COLOR=#000080]drawCircle[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000080]0[/COLOR],[COLOR=#000080]0[/COLOR],[COLOR=#000080]2[/COLOR][COLOR=#000000])[/COLOR];
            particle.[COLOR=#000080]graphics[/COLOR].[COLOR=#0000FF]endFill[/COLOR][COLOR=#000000]([/COLOR][COLOR=#000000])[/COLOR];
            particle.[COLOR=#000080]addEventListener[/COLOR][COLOR=#000000]([/COLOR]Event.[COLOR=#000080]ENTER_FRAME[/COLOR],moveParticles[COLOR=#000000])[/COLOR];
            particles.[COLOR=#0000FF]push[/COLOR][COLOR=#000000]([/COLOR]particle[COLOR=#000000])[/COLOR];
            addChild[COLOR=#000000]([/COLOR]particle[COLOR=#000000])[/COLOR];
            
            [COLOR=#000000]}[/COLOR]
        [COLOR=#000000]}[/COLOR]
    [COLOR=#0000FF]public[/COLOR] [COLOR=#000000] **function** [/COLOR] moveParticles[COLOR=#000000]([/COLOR]evt:Event[COLOR=#000000])[/COLOR][COLOR=#000000]{[/COLOR]
        [COLOR=#000000] **var** [/COLOR] thisParticle = [COLOR=#000000]([/COLOR]evt.[COLOR=#0000FF]target[/COLOR] as [COLOR=#0000FF]MovieClip[/COLOR][COLOR=#000000])[/COLOR];
        thisParticle.[COLOR=#000080]x[/COLOR] += thisParticle.[COLOR=#000080]movementX[/COLOR];
        thisParticle.[COLOR=#000080]y[/COLOR] += thisParticle.[COLOR=#000080]movementY[/COLOR];
        [COLOR=#0000FF]if[/COLOR][COLOR=#000000]([/COLOR]evt.[COLOR=#0000FF]target[/COLOR].[COLOR=#000080]x[/COLOR] &gt;= [COLOR=#000080]1000[/COLOR] || evt.[COLOR=#0000FF]target[/COLOR].[COLOR=#000080]x[/COLOR] &lt;= [COLOR=#000080]0[/COLOR] || evt.[COLOR=#0000FF]target[/COLOR].[COLOR=#000080]y[/COLOR] &gt;= [COLOR=#000080]900[/COLOR] || evt.[COLOR=#0000FF]target[/COLOR].[COLOR=#000080]y[/COLOR] &lt;=[COLOR=#000080]0[/COLOR][COLOR=#000000])[/COLOR][COLOR=#000000]{[/COLOR]
            removeChild[COLOR=#000000]([/COLOR]thisParticle[COLOR=#000000])[/COLOR];
            [COLOR=#000000]}[/COLOR]
        [COLOR=#000000]}[/COLOR]

```

[/LEFT]

---

<div class="post-metadata">

**Author:** ![Felixz](https://avatars.discourse-cdn.com/v4/letter/f/ecb155/32.png) [@Felixz](https://forum.kirupa.com/u/Felixz)\
**Post date:** [May 25, 2008, 1:59pm UTC](https://forum.kirupa.com/t/remove-child-from-event-listener/261268/2 "2008-05-25T13:59:14Z")

</div>

```auto
removeChild(thisParticle);
thisParticle.removeEventListener(Event.ENTER_FRAME,moveParticles);

```

Instead MovieClip u can extend Shape class to have movementX and movementY properties

---

<div class="post-metadata">

**Author:** ![RebuiltJorge](https://avatars.discourse-cdn.com/v4/letter/r/94ad74/32.png) [@RebuiltJorge](https://forum.kirupa.com/u/RebuiltJorge)\
**Post date:** [May 25, 2008, 3:44pm UTC](https://forum.kirupa.com/t/remove-child-from-event-listener/261268/3 "2008-05-25T15:44:48Z")

</div>

wow, I totally forgot about the eventListeners, thanks Felixz
