public void run()
	{
		//Following the designated game object
		if (GO_ToFollow != null && timeToNextY == 0)
		{
			timeToNextY = 1;
			intPosX = GO_ToFollow.intPosX - (game.CANVAS_WIDTH/2)
						+ (GO_ToFollow.arrayImageSprites[GO_ToFollow.intCurrentSprite].getWidth()/2);
			intPosY = GO_ToFollow.intPosY - (game.CANVAS_HEIGHT/2)
						+ (GO_ToFollow.arrayImageSprites[GO_ToFollow.intCurrentSprite].getHeight()/2);
		}
		
		//Moving based on the key strokes
		else if (VarChar_Up != null)
		{
			//::: ::: ::: ::: :::
			
			//UP
			if (CheckKeyByCharacter(VarChar_Up.charData, true) && timeToNextY == 0)
			{
				intPosY -= speedCamera;
				timeToNextY = timeWait;
			}
			
			//RIGHT
			if (CheckKeyByCharacter(VarChar_Right.charData, true) && timeToNextX == 0)
			{
				intPosX += speedCamera;
				timeToNextX = timeWait;
			}
			
			//DOWN
			if (CheckKeyByCharacter(VarChar_Down.charData, true) && timeToNextY == 0)
			{
				intPosY += speedCamera;
				timeToNextY = timeWait;
			}
			
			//LEFT
			if (CheckKeyByCharacter(VarChar_Left.charData, true) && timeToNextX == 0)
			{
				intPosX -= speedCamera;
				timeToNextX = timeWait;
			}
			
			//::: ::: ::: ::: :::
		}
		
		
		//Decreasing time needed to move again
		if (timeToNextY > 0)
		{
			timeToNextY--;
		}
		if (timeToNextX > 0)
		{
			timeToNextX--;
		}
	}