-
سلام. کاری که کردم این بود که یه مووی کلیپ دارم به اسم image . یک مووی کلیپ دارم به اسم mask1 که سایزش کوچکتر از سایز تصویرم (image ) هست. اول دو تا تابع تعریف می کنم که هر کدوم میان mousedownx و mousemovex رو می گیرن. بعد تابع copmare میاد مقایسه می کنه که اگه (movex>downx)یعنی اگه جهت درگ به سمت راست هست بیاد درگ رو تو مرز مشخص شده اتنجام بده. اما متاسفانه چه این شرط برقرار باشه چه نباشه درگ انجام میشه. یعنی جهت براش فرقی نی کنه. نمی دونم چرا..
کد:
var boundsRect:Rectangle = new Rectangle(Image.x,0 ,mask1.x,0);
var movex:int
var downx:int
stage.addEventListener(MouseEvent.MOUSE_DOWN, show1);
stage.addEventListener(MouseEvent.MOUSE_MOVE, show2);
stage.addEventListener(MouseEvent.CLICK, compare);
function show1(e:MouseEvent):void {
downx=mouseX;
trace(downx);
}
function show2(e:MouseEvent):void {
movex= mouseX;
trace(movex);
}
function compare(event:MouseEvent):void {
if (movex>downx)
{
trace("maha")
Image.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
stage.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
function startDragging(mev:MouseEvent):void {
Image.startDrag(false , (boundsRect));
Image.buttonMode = true
}
function stopDragging(mev:MouseEvent):void {
Image.stopDrag();
}
}
}
-
سلام به همه
برای ایجاد مرز درگ این اکشن رو می شه استفاده کرد. موضوع خیلی ساده تر از اونی هست که فکر می کردم. البته خودم کشف نکردم از یک سایت برداشتم. امیدوارم حلال مشکل باشه.
کد:
var rectangle:Rectangle = new Rectangle(100, 100, 200, 150);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseStartDrag);
function mouseStartDrag(motion:MouseEvent):void {
square_mc.startDrag(false, rectangle);
}
stage.addEventListener(MouseEvent.MOUSE_UP, mouseStopDrag);
function mouseStopDrag(motion:MouseEvent):void {
square_mc.stopDrag();
}
دو عدد اول طول و عرض ابتدای محدوده و اعداد سوم و چهار مر بوط به محدوده طول و عرض هستن. اینجوری در واقع آبجکتمون داخل یک مرز مربعی درگ میشه