Look at this code AS3:
Code:
visible=false;

var oldScaleMode:String=stage.scaleMode;
stage.scaleMode="exactFit";

var sW:Number=stage.stageWidth;
var sH:Number=stage.stageHeight;

stage.scaleMode=oldScaleMode;

var bounds_obj:Object=this.getBounds(this);

var camH:Number=bounds_obj.height;
var camW:Number=bounds_obj.width;

var rp:Point=new Point(x,y);

addEventListener(Event.ENTER_FRAME,camControl);
addEventListener(Event.REMOVED_FROM_STAGE,reset);


var bmp:Bitmap;
var myBitmapData:BitmapData=new BitmapData(sW,sH,true,0);
bmp=new Bitmap(myBitmapData);

camControl();

stage.addChild(bmp);


function camControl(...event):void {

	parent.visible=true;

	rp.x=x;
	rp.y=y;

	var h:Number=camH * scaleY;
	var w:Number=camW * scaleX;

	var _scaleY:Number=sH / h;
	var _scaleX:Number=sW / w;

	x2=w / 2 * _scaleX;
	y2=h / 2 * _scaleY;

	scaleX2=_scaleX;
	scaleY2=_scaleY;

	rotation2=- rotation;

	myBitmapData.lock();
	myBitmapData.fillRect(myBitmapData.rect,0x00);
	myBitmapData.unlock();

	myBitmapData.draw(stage);
	
	bmp.filters=this.filters;
	bmp.transform.colorTransform=this.transform.colorTransform;

	parent.visible=false;

}

function reset(e:Event):void {

	removeEventListener(Event.ENTER_FRAME,camControl);
	removeEventListener(Event.REMOVED_FROM_STAGE,reset);

	stage.removeChild(bmp);
	myBitmapData.dispose();
	bmp=null;

	parent.scaleX=1;
	parent.scaleY=1;
	parent.x=0;
	parent.y=0;
	parent.rotation=0;

	parent.visible=true;

}
function set x2(value:Number):void {
	var p:Point=parent.parent.globalToLocal(parent.localToGlobal(rp));
	parent.x+= value - p.x;
}
function get x2():Number {
	var p:Point=parent.parent.globalToLocal(parent.localToGlobal(rp));
	return p.x;
}
function set y2(value:Number):void {
	var p:Point=parent.parent.globalToLocal(parent.localToGlobal(rp));
	parent.y+= value - p.y;
}
function get y2():Number {
	var p:Point=parent.parent.globalToLocal(parent.localToGlobal(rp));
	return p.y;
}
function get scaleX2():Number {
	return parent.scaleX;
}
function set scaleX2(value:Number):void {
	setProperty2("scaleX",value);
}

function get scaleY2():Number {
	return parent.scaleY;
}

function set scaleY2(value:Number):void {
	setProperty2("scaleY",value);
}

function get rotation2():Number {
	return parent.rotation;
}
function set rotation2(value:Number):void {
	setProperty2("rotation",value);
}

function setProperty2(prop:String,n:Number):void {
	var a:Point=parent.parent.globalToLocal(parent.localToGlobal(rp));

	parent[prop]=n;

	var b:Point=parent.parent.globalToLocal(parent.localToGlobal(rp));

	parent.x-= b.x - a.x;
	parent.y-= b.y - a.y;
}
I proved it in Macromedia Flash CS3 and it works well, but in KollMoves notes the following errors output:
- Line 82: function set x2 expecting a left parenthesis.
It the show it in all functions of this type in this code.
How resolved it ? Thanks and Cheers.