drag حول یک محور دایره ای

Amir02111

Member
با سلام خدمت دوستان عزیز

من یه mc دارم که می خوام وقی درگ شد بیشتر از یه محور دایره ای نره
من برای این کار از Rectangle استفاده می کنم ولی Rectangle ها مستطیل هستند و من می خوام که دایره باشه

دوستان اگه راهی چاهی یا چیز دیگه ای داره ممنون می شم بهم بگید...
 

JavidFlasher

کاربر فعال
سلام
یه موی کلیپ بساز که توش یه shape دایره باشه بعد از توی اون چیزی رو که میخوای براش دستور drag تعریف کن
یعنی این که اول چک بشه که موس روی دایرهه هست بعد چیزی رو که میخوای درگ بشه
شاید startDrag خوب جواب نده خودت دستی باید بنویسی
 

ultra1383

Active Member
[CSS]var sun:Sprite = new Sprite();sun.graphics.lineStyle(0,0xFF6600);
sun.graphics.beginFill(0xFF3300);
sun.graphics.drawCircle(0,0,40);
sun.graphics.endFill();


var earth:Sprite = new Sprite();
earth.graphics.lineStyle(0,0x92E9FE);
earth.graphics.beginFill(0x00CCFF);
earth.graphics.drawCircle(0,0,20);
earth.graphics.endFill();


var spot:Shape = new Shape();
spot.graphics.lineStyle(0,0x000000);
spot.graphics.beginFill(0x333333);
spot.graphics.drawCircle(0,0,4);
spot.graphics.endFill();






var moon:Shape = new Shape();
moon.graphics.lineStyle(0,0xFFFFCC);
moon.graphics.beginFill(0xFFFF00);
moon.graphics.moveTo(-5,-5);
moon.graphics.lineTo(5,-5);
moon.graphics.lineTo(5,5);
moon.graphics.lineTo(-5,5);
moon.graphics.lineTo(-5,-5);
moon.graphics.endFill();






this.addChild(sun);
sun.x = 200;
sun.y = 200;




sun.addChild(spot);
spot.x = 20;
spot.y = 10;


sun.addChild(earth);
earth.x = 120;
earth.y = 0;






earth.addChild(moon);
moon.x = 50;
moon.y = 0;






stage.addEventListener(Event.ENTER_FRAME, orbit);


function orbit(evt:Event):void {

sun.rotation++;

earth.rotation+= 3;

moon.rotation-=5;

}[/CSS]




فقط یه کم تغییر می خواد که باید انجام بدی.

موفق باشی .
 

Amir02111

Member
سلام
یه موی کلیپ بساز که توش یه shape دایره باشه بعد از توی اون چیزی رو که میخوای براش دستور drag تعریف کن
یعنی این که اول چک بشه که موس روی دایرهه هست بعد چیزی رو که میخوای درگ بشه
شاید startDrag خوب جواب نده خودت دستی باید بنویسی

خیلی ممنون دوست عزیز ازجوتبتون ولی این کار یه مشکل داره اونم اینکه اگه موس از دایره بیرون بره درگ از کار می افته در صورتی که نباید این طوری بشه و اگه موس بیرون دایره هم رفت درگ کار کنه فقط شی از دایره بیرون نیاد...
 
آخرین ویرایش:

Amir02111

Member
.... sun.rotation++;

earth.rotation+= 3;

moon.rotation-=5;

}





فقط یه کم تغییر می خواد که باید انجام بدی.

موفق باشی .

با تشکر از شما فقط یه سوال این کاری که شما کردی تغییر rotation هستش و چطوری می تونییم اونو به startDrag ربط بدیم
 

ultra1383

Active Member
یه کم خلاقیت می خواهد .

یه کم بیشتر تلاش کن من هم تا جایی که بتونم راهنماییتون می کنم .

موفق باشید .
 

JavidFlasher

کاربر فعال
سلام
برا این که وقتی موس بیرون از دایره رفت ابجکتی که درگ میشه روی مرز دایره حرکت کنه
باید از طریق فیثاغورس a و b رو درست کنی که فاصله موست تا مرکز دایره هست.یکی عمودی یکی افقی. اما به جای c شعاع دایره رو میزاری.
حالا اگه این c رو تجزیه کنی و x و y ش رو در بیاری بعد + مختصات x ,y دایرت کنی میشه مختصات جدید ابجکتی که درگ میشه
 
آخرین ویرایش:

++Hadi++

Active Member
برای این کار شما باید از روابط مثلثاتی استفاده کنید.یعنی sin و cos ..البته اگه منظورتون ،درگ رو حول محور دایره ای باشه ...فک کنم چیزی شبیه به دسته کنترل صدای جت آدیو رو می خواهید درسته...
 

Amir02111

Member
برای این کار شما باید از روابط مثلثاتی استفاده کنید.یعنی sin و cos ..البته اگه منظورتون ،درگ رو حول محور دایره ای باشه ...فک کنم چیزی شبیه به دسته کنترل صدای جت آدیو رو می خواهید درسته...

من دسته کنترل صدای جت آدیو رو تا حالا ندیدم در واقع یکی دو ماه دارم بازی سازی برا اندروید رو کار میکنم و این کارو برا کنترل بازی کن در گوشه ی سمت چپ می خواستم...
Untitled-1.jpg
 
آخرین ویرایش:

++Hadi++

Active Member
با یه سری توضیحات فارسی در اسکریپت برنامه نویسی ، آموزشم رو دادم..یه کم باش ور برید دستتون می یاد....
ایده اینو از رو دسته کنترل صدای jet audio البته نسخه های قدیمیش برداشتم...
 

پیوست ها

  • DragableCircleHandle.rar
    578.2 کیلوبایت · بازدیدها: 215

جدیدترین ارسال ها

بالا