Hi All,
I've searched and read a lot about people having difficulties using removeEventListener, but I just don't get why I'm having problems removing one. I'm sort of new to AS3 so that would probably explain a lot. I've tried so many variations of the following code that it probably looks like a mess and is now inefficient, but hopefully someone more experienced than me can identify the basic issue. I appreciate any help. - Kurt var create:Boolean = true; function reCalcMeter(o:Object):void { var path:MovieClip = mainContent; var targPercent:Number; var mc:MovieClip = new MovieClip(); path.addChild(mc); var myData:Object = mainContent.myData; var bar:MovieClip = mainContent.meter.bar; var percentDisplay:Object = path.meter.meter_points_display.txt_percent_display; var pointDisplay:Object = path.meter.meter_points_display.txt_pts; var startPercent:Number = 0; var accString:String = o.points_user_accumulated var accumulated:Number = Number(accString.split(',').join('')); var totalPts:Number = o.point_range_high.split(',').join(''); var scale:Number = 0; targPercent = int((accumulated/totalPts)*100)/100; bar.scaleX = 0; if(!mc.hasEventListener(Event.ENTER_FRAME) && create) { create = false trace("should create"); mc.addEventListener(Event.ENTER_FRAME, animateMeter); } else { path.removeChild(mc); mc.removeEventListener(Event.ENTER_FRAME, animateMeter); trace("should die but doesnt"); } function animateMeter(event:Event) { //trace("targpercent = " + targPercent); var nSX:Number = int((bar.scaleX + .01)*100)/100; var myNum:Number = Math.round(nSX*100); bar.scaleX += .008; percentDisplay.text = myNum + "%" pointDisplay.text = accString + " pts" if(nSX >= targPercent) { mc.removeEventListener(event.type,animateMeter) //this is fine - works } } } _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders