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

Reply via email to