0
我想限制將動畫片段拖動到名爲「遮罩」的遮罩。可拖動的MC的名字是mapcontainer.themap。它的父母,mapcontainer,與舞臺成比例縮放。我如何限制被拖動的MC到面具?下面的代碼適用於加載,但不適用於舞臺縮放時。限制拖動影片剪輯進行遮罩,使用舞臺&mc縮放
function constrainMap():void {
leftedge = themapmask.x+mapcontainer.themap.width/2-mapcontainer.x;
rightedge= themapmask.x+themapmask.width-mapcontainer.width/2-mapcontainer.x;
topedge = themapmask.y+mapcontainer.themap.height/2-mapcontainer.y;
bottomedge = themapmask.y+themapmask.height-mapcontainer.height/2-mapcontainer.y;
if (mapcontainer.themap.x>leftedge) mapcontainer.themap.x=leftedge;
if (mapcontainer.themap.y>topedge) mapcontainer.themap.y=topedge;
if (mapcontainer.themap.x<rightedge) mapcontainer.themap.x=rightedge;
if (mapcontainer.themap.y<bottomedge) mapcontainer.themap.y=bottomedge;
}
這不起作用 - 可能是因爲可拖動的剪輯的註冊點位於中心。有任何想法嗎? – lgriffin
是的,所以在這種情況下,您需要對發送給startDrag的矩形進行一些更改,如下所示: –
@ user1342133 var rect:Rectangle = themapmask.getBounds(mapcontainer); mapcontainer.themap.startDrag(false/*或true * /,new Rectangle(rect.left + mapcontainer.themap.width/2,rect.top + mapcontainer.themap.height/2,rect.width - mapcontainer.themap.width ,rect.height - mapcontainer.themap.height))' –