برخورد شی بادیوار و رد نشدن از آن

Amir02111

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

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

ممنون می شم راهنماییم کنید
 

++Hadi++

Active Member
از توابع box2d استفاده کنید اگه افکت فیزیکیش واستون مهمه...اگه نه تو یه تابع Enter_Frame هر لحظه چک کنید که آیا
PHP:
object.hitTestObject(wall)
برابر true هست یا نه اگه بله که دیگه حرکت نکنه و اگه خیر پس به مسیر خودش و زیاد و یا کم شدن x و y ادامه بده...
 

Amir02111

Member
خیلی ممنون
ولی این کار یه ایرادی داره اونم اینکه وقتی جسم به دیوار برخورد می کنه مقدارمون برابر true می شه و اگه بخوایم از دیواردور بشیم دیگه جسم حرکت نمی کنه چون HitTestObject برابر true هستش...
 

++Hadi++

Active Member
بهترین ابزار برا همین استفاده از box2d هست.ولی برا اینکه به صورت دستی بنویسیم به شرطی که معادله مسیر حرکت توپ رو تو محور x و y داشته باشیم ،با true شدنش ،می تونید مقدار افزایش x یا y یا هر دو رو ضربدر 1-کنید...یعنی اون متغیری که باعث جابه جاییشی می شه رو در منفی ضرب کنید تا در هر بار افزایش یا کاهش حرکت ،حرکت معک.سی رو لحطه به لحظه بده...
 
آخرین ویرایش:

++Hadi++

Active Member
یه frame work با بهتر بگم مجموعه کلاسها وتوابع open source و free که یه سری فیزیک دان و برنامه نویس نشستن نوشتن تا افراد دیگه به راحتی با استفاده از اونها و بدون داشتن تخصصات فیزیکی بتونن یه سری شبیه سازیهای فیزیکی رو مثل بازی angry bird انجام بدن...
این توابع در ابتدا به زبان ++C نوشته شده بودند و امروزه تو frame work های مختلف مثل فلش هم نوشته شده اند.
برا اطلاعات بیشتر :
این سایت اصلیش هست :
http://box2d.org/
این برا فلش هست البته چپ و راست رو بزنید تا سمپلاشو عوض کنه و قدرتشوببینید:
http://box2dflash.sourceforge.net/
این سمپل تحت فلشش هست :
http://active.tutsplus.com/tutorials/games/introduction-to-box2d-for-flash-and-as3/
این هم یه فریم ورک فکر میکنم خلاصه تر و راحت تر شده اون برا فلش هست :
http://www.sideroller.com/wck/
این بر js هست :
http://box2d-js.sourceforge.net/
این یه سری اطلاعات انگلیش راجع به اون هست :
http://en.wikipedia.org/wiki/Box2D
این آموزش های فارسی زیبای آقای امیر درجه هست :
http://forum.majidonline.com/threads/147591-موتورهای-فیزیکی-در-فلش
این هم فرومش هست :
http://www.box2d.org/forum/index.php
اینجا رو حتما ببینید چون آموزش های بی نظیری رو گذاشته :
http://www.emanueleferonato.com/category/box2d/
موفق باشید...
 
آخرین ویرایش:

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

بالا