Accessing displayObject from insde an Object

Hello,
First let me show you the layout of my displayObjects hierarchy

Document Class have a stageRef:MovieClip object (same size as the swf) that all the other displayobjects are added.

And I have 2 more classes: createLevel and Player. Player class generates a box object and adds it to the stageRef from inside the class itself with:
stageRef.addChild(this)

createLevel class is used to generate a 11x15 sized grid and also have one container named blockHolder that holds the grid pieces.

What I am trying to do is I cant reach the creteLevel’s blockHolder object from Player Object.

I am also adding some related code below:

Document Class:



		private var oPlayer:Player;
		private var oLevel:CreateLevel;
		public var stageRef:MovieClip = new MovieClip();

		
		private var lvlArray1:Array = new Array(
			1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
			0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
			0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
			0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
			0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,
			0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,
			0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,
			0,0,1,1,1,0,0,0,0,0,0,0,2,0,1,
			0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,
			0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,
			1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
		);
		
			
			
		function main()
		{
			setStage(750,550);	// creates empty mc and adds it			
	
			oLevel = new CreateLevel( stageRef, lvlArray1 );
//stageRef MovieClip, Level Array

			oPlayer = new Player( stage, stageRef, 'John' );
//stage itself, stage MovieClip, name of Player


Player.as (Partial)



public function Player( _stageObj:Stage, _stageRef:MovieClip, _name:String  ) {
			sPlayerName = _name;
			stageRef = _stageRef;
			stageObj = _stageObj;
			this.x = 375;
			this.y = 450;
			
			stageRef.addChild(this);
			
		//	trace(stageRef.contains(stageRef)+'  '+this);
		//	trace(Sprite(stageRef.getChildByName( 'blockHolder' ).name ) );	
				
stageObj.addEventListener(Event.ENTER_FRAME, movePlayer);
stageObj.addEventListener(KeyboardEvent.KEY_DOWN, checkKeyStateDown);
stageObj.addEventListener(KeyboardEvent.KEY_UP, checkKeyStateUp);
	
		}


Above you see, I am trying to access blockHolder but I cant not manage.
Thats the place I need help :slight_smile:

CreateLevel.as (All of it)



public function CreateLevel (  _stageRef:MovieClip, _levelArray:Array ){
		
		stageRef = _stageRef;
		blockHolder = new Sprite();
		stageRef.addChild(blockHolder);
				
		this.createLvl( blockHolder, _levelArray );
		
				
	}

		private function createLvl( blockHolder:Sprite, _levelArray:Array ):void{


			var lvlColumns:int = Math.ceil(_levelArray.length/11);

			for(var i:int = 0;i < _levelArray.length;i++){
					if( ( i%lvlColumns) == 0 ) {					
						row ++;
					}
					
				if( _levelArray* > 0 && _levelArray* < 99 ){
					//checking if we move onto the next row

				

					//making a new block
					var newBlock:tile = new tile();
					
					if(_levelArray* == 1) {
						newBlock.gotoAndStop(1);
						
					} else if(_levelArray* == 2) {
						
						newBlock.gotoAndStop(2);
					} else if(_levelArray* == 3) {
						
						newBlock.gotoAndStop(3);
					} else if(_levelArray* == 4) {
						
						newBlock.gotoAndStop(4);
					}


					//change the coordinates of the block
					newBlock.x = (i-(row-1)*lvlColumns)*50;
					newBlock.y = (row-1)*50;
					//then finally adding it to stage
					blockHolder.addChild(newBlock);
				} else if (_levelArray* == 99){
					stageRef.oPlayer.x = (i-(row-1)*lvlColumns)*newBlock.width;
					stageRef.oPlayer.y = (row-1)*newBlock.height;
				}
			}
			//reset the row for another use
			row = 0;
		}