
Код AS3:
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.display.Shape;
import flash.events.*;
var offsetX:int,offsetY:int,displayObject:DisplayObject;
var rectDrag:Sprite = new Sprite();
rectDrag.graphics.beginFill(0x000000);
rectDrag.graphics.drawRect(0, 0, 45, 45);
rectDrag.graphics.endFill();
var rect:Sprite = new Sprite();
rect.graphics.lineStyle(1, 0x006600);
rect.graphics.drawRect(0, 0, 400, 400);
rect.graphics.endFill();
var sprite:Sprite = new Sprite();
sprite.y = 300;
sprite.x = 50;
sprite.rotationY = -43;
sprite.rotationX = -43;
sprite.rotationZ = -36;
rect.addChild(rectDrag);
rectDrag.addEventListener(MouseEvent.MOUSE_DOWN, this.startd);
addEventListener(MouseEvent.MOUSE_UP, this.stopd);
sprite.addChild(rect);
super.addChild(sprite);
function startd(event:MouseEvent):void {
this.displayObject = DisplayObject(event.target);
this.offsetX = rectDrag.mouseX;
this.offsetY = rectDrag.mouseY;
super.stage.addEventListener(MouseEvent.MOUSE_MOVE, dragg);
}
function stopd(event:MouseEvent):void {
super.stage.removeEventListener(MouseEvent.MOUSE_MOVE, this.dragg);
}
function dragg(event:MouseEvent):void {
rectDrag.x = sprite.mouseX - offsetX;
rectDrag.y = sprite.mouseY - offsetY;
event.updateAfterEvent();
}
Для ФД подправите сами
