سوال : نحوه تشخیص برخورد اجسام

شروع موضوع توسط Fanous ‏28 نوامبر 2015 در انجمن ساخت بازی در فلش

کلمات کلیدی:
  1. Fanous

    Fanous Well-Known Member

    ارسال‌ها:
    762
    تشکر شده:
    540
    امتیاز دستاورد:
    93
    سلام دوستان

    به نظر شما بهترین روش تشخیص برخورد در شکلی که ضمیمه کردم چیه؟

    اون دایره بوسیله کلیدهای جهت ، به اطراف حرکت می کنه و در صورت برخورد به دیواره ها باید متوقف بشه
    همچنین ابعاد مووی کلیپ دیواره ها به قدری بزرگ هستش که تماما توی صفحه کاربر جا نمیشه و باید باتوجه به حرکت دایره ، اون هم جابجا بشه
    ممنون میشم اگر تجربه ای تو این زمینه دارین ، با من به اشتراک بگذارین
    گزینه هایی که خودم درنظر دارم استفاده از box2d یا citrus هستش

    پیشاپیش ازتون تشکر می کنم
     

    پیوست ها:

    • mazz.jpg
      mazz.jpg
      اندازه فایل:
      کیلوبایت 35
      نمایش ها:
      2
    نوشته شده توسط Fanous در ‏28 نوامبر 2015
  2. ghasemMMb

    ghasemMMb New Member

    ارسال‌ها:
    29
    تشکر شده:
    19
    امتیاز دستاورد:
    3
    سلام فانوس جان
    شما اگه از
    box2d یا citrus استفاده کنید بازیتون فیزیکدار میشه و دایره به پایین سقوط می کنه.ولی تو عکس پیداست که دوربین از بالاست و با کلیهای جهت دار دایره حرکت می کنه.
    برا تشخیص برخورد باید از hitTestObject استفاده کنید.
    به این آدرس که تو سایت آقای پولادرگ (بهروز پی سی) خودمونه برید.مطالب خوبی وجود داره.
    http://blog.iflashlord.com/1391/04/hittestobject-و-یک-مثال-ساده/
     
    نوشته شده توسط ghasemMMb در ‏28 نوامبر 2015
    Fanous از این پست تشکر کرده است.
  3. Fanous

    Fanous Well-Known Member

    ارسال‌ها:
    762
    تشکر شده:
    540
    امتیاز دستاورد:
    93
    سلام و تشکر از شما
    من یک مووی کلیپ دارم واسه دیوارها و یک مووی کلیپ واسه توپ
    مشکل این دستور اینه که مووی کلیپ توپ همیشه با مووی کلیپ دیوارها در حال برخورده ، چون جاهایی هم که دیوار نیست ، جزئی از مووی کلیپ دیوارها محسوب میشه
    توی box2d که بیشتر کار کردم ، میشه جاذبه رو 0 کرد و دیگه توپ سقوط نمی کنه ولی توی citrus نمیدونم چجوریه ، چون فقط درمورد قابلیتهاش مطالبی خوندم ولی عملا استفاده نکردم
     
    نوشته شده توسط Fanous در ‏28 نوامبر 2015
  4. Fanous

    Fanous Well-Known Member

    ارسال‌ها:
    762
    تشکر شده:
    540
    امتیاز دستاورد:
    93
    دوستان توی نت یه نمونه پیدا کردم و یه سری تغییرات توی کدهاش دادم
    هنوز دقیق مطالعه نکردم که کدهای داخلش چیکار می کنن ، تا حالا ازشون استفاده نکرده بودم
    ولی کار منو تا حدودی راه انداختن
    اما مشکل اینجاست که خیلی دقیق کار نمی کنن
    اگر تستش کنین ، می بینین که یه جاهایی ، توپ هنوز به دیوار نرسیده ولی متوقف میشه و یه جاهایی هم توپ وارد دیوار میشه
    ممنون میشم اگر کسی در خصوص کدهای این نمونه اطلاعاتی داره ، در موردشون توضیح بده
    همچنین دلیل عدم کارکرد دقیق کدها چیه؟
    ممنونم
     

    پیوست ها:

    • mazz.rar
      اندازه فایل:
      کیلوبایت 19.4
      نمایش ها:
      11
    نوشته شده توسط Fanous در ‏28 نوامبر 2015
  5. mmz2006

    mmz2006 Active Member

    ارسال‌ها:
    131
    تشکر شده:
    121
    امتیاز دستاورد:
    43
    سلام

    شما برای استفاده از متد hitTestObject در این تصویر نمونه که گذاشتید می تونید یک مووی کلیپ از یک ستون ایجاد کنید و بعد به تعدادی که تو کار نیاز دارید ستون رو کپی کنید مثلا اینجا 4 تا برای اطراف می خواین و 3 تا هم برای وسط کار.
    ولی بدی ای که این متد داره اینه که همه مووی ها رو مربع یا مستطیل فرض می کنه حتی اگر شکل دایره باشه ! برای کار دقیقتر باید از متد hitTestPoint استفاده کنید که دردسر های خودشو داره .(که در بازی بال نت من اونو اجرا کردم)

    اگر بخواهیم از این درد سرها بگذریم من خودم از WCK که بر مبنای box2d هست استفاده می کنم. نمونه ای که می خواین رو ضمیمه کردم.
     

    پیوست ها:

    • contact.zip
      اندازه فایل:
      کیلوبایت 354
      نمایش ها:
      7
    نوشته شده توسط mmz2006 در ‏28 نوامبر 2015
    Fanous از این پست تشکر کرده است.
  6. Fanous

    Fanous Well-Known Member

    ارسال‌ها:
    762
    تشکر شده:
    540
    امتیاز دستاورد:
    93

    سلام دوست من
    ممنونم بابت فایلی که زحمتشو کشیدین
    من تابحال از wck که فرمودین استفاده نکردم
    آیا مثل box2d باید فایلهای مربوط به اون رو در کنار پروژه مون قرار بدیم ؟ اگر اینجوریه ، لینک دانلودش رو دارین؟
    من سرچ کردم ولی نمیدونم چی رو باید از سایتشون دانلود کنم
    باز هم تشکر
     
    نوشته شده توسط Fanous در ‏29 نوامبر 2015
    mmz2006 از این پست تشکر کرده است.
  7. mmz2006

    mmz2006 Active Member

    ارسال‌ها:
    131
    تشکر شده:
    121
    امتیاز دستاورد:
    43
    سلام عزیز

    من wck رو ابتدا از مجید آنلاین یاد گرفتم که آموزش تصویریش اینجا هست:

    آموزش ویدئویی ساخت بازی دوبعدی فیزیک دار در فلش

    البته در آموزش هست شما باید پوشه و فایل swc رو داخل پروژه تون ایمپورت کنین

    اونم از اینجا دانلود کنید
     
    آخرین ویرایش: ‏29 نوامبر 2015
    نوشته شده توسط mmz2006 در ‏29 نوامبر 2015
    ghasemMMb و Fanous از این پست تشکر کرده اند.
  8. ghasemMMb

    ghasemMMb New Member

    ارسال‌ها:
    29
    تشکر شده:
    19
    امتیاز دستاورد:
    3
    سلام
    wck کمپوننت جالبیه.کار را راحت می کنه ولی موقع تست خیلی دیر اجرا میشه و حوصله آدم سر میره.
    آموزشهای سایت هم متاسفانه نیمه کاره رها شده.ولی اگه خوب فلش کار کرده باشید می تونید از دمو خود کمپوننت که تو همین فایل که دوستمون لینکش را گذاشتند قرار داره استفاده کنید .
    مثلا زنجیر آویزی که داخل اپلیکیشنهاتون قرار داده بودید را با این کمپوننت به راحتی میشه با استفاده از کلاس ConnectorLine درست کرد.
     
    نوشته شده توسط ghasemMMb در ‏29 نوامبر 2015
    mmz2006 و Fanous از این پست تشکر کرده اند.

به اشتراک بگذارید