Calling functions from class problem

Hi again. More problems I’m afraid…

I’m writing a class that utilizes the whole screen resolution and need a movieClip to adjust itself in accordance to that. That “almost work”. The problem is that I cannot call functions when the resize listener kicks (onResize = function()) in, and I don’t understand why…

I want to call the function centreMe() from within the onResize function.


import mx.transitions.Tween;
import mx.transitions.easing.*;
import mx.utils.Delegate;

class centre {
	
	public function centre() {
		// create the background movieclip
		drawBg();
	}
	
	private function drawBg():Void {
		// set local variables
		var bgDepth:Number = 1;
		var colour_fill:String = "0x0000FF";
		var alpha_fill:Number = 30;
		var strokeThickness:Number = 5;
		var colour_stroke:String = "0xFF00FF";
		var alpha_stroke:Number = 100;
		
		// create background movieClip
		_root.createEmptyMovieClip("bg_mc", bgDepth);
		_root.bg_mc.beginFill(colour_fill, alpha_fill);
		_root.bg_mc.lineStyle(strokeThickness, colour_stroke, alpha_stroke);
		
		_root.bg_mc.moveTo(0, 0);
		_root.bg_mc.lineTo(0, Stage.height);
		_root.bg_mc.lineTo(Stage.width, Stage.height);
		_root.bg_mc.lineTo(Stage.width, 0);
		
		_root.bg_mc.endFill();
		
		createListener();
	}
	
	private function createListener():Void {
		// set stage
		Stage.align = "TL";
		Stage.scaleMode = "noScale";
		
		// resize listener
		var resizeListener:Object = new Object();
		resizeListener.onResize = function () {
			_root.bg_mc._width = Stage.width;
			_root.bg_mc._height = Stage.height;

			// re-draw background
			centreMe(_root.fish_mc);

			/* IF I UN-COMMENT THIS, IT WORKS THOUGH
			var t_mc:MovieClip = _root.fish_mc;
			var time:Number = 2;
		
			var fromTop:Number = 0;
			var startX:Number = t_mc._x;
			var endX:Number = Math.floor(Stage.width / 2);
			var startY:Number = t_mc._y;
			var endY:Number = Math.floor(t_mc._height/2);
			
			var xTween:Object = new Tween(t_mc, "_x", Strong.easeOut, startX, endX, time, true);
			var yTween:Object = new Tween(t_mc, "_y", Strong.easeOut, startY, endY, time, true);
			*/
			
		}
		Stage.addListener(resizeListener);
	}
	
	public function centreMe(t:MovieClip):Void {
		var t_mc:MovieClip = t;
		var time:Number = 2;
	
		var fromTop:Number = 0;
		var startX:Number = t_mc._x;
		var endX:Number = Math.floor(Stage.width / 2);
		var startY:Number = t_mc._y;
		var endY:Number = Math.floor(t_mc._height/2);
		
		var xTween:Object = new Tween(t_mc, "_x", Strong.easeOut, startX, endX, time, true);
		var yTween:Object = new Tween(t_mc, "_y", Strong.easeOut, startY, endY, time, true);
	}

}