رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


  • 0
ahmad36

(پرسش) تشخیص عبور یک تصویر از لبه های یک تصویر png در بیسیک فور اندروید.

سوال

ahmad36    1

کاربر عادی

سلام دوستان خسته نباشید.

من دارم یک بازی پینگ پنگ در b4a میسازم. یک راکت و یک توپ با فرمت png دارم. راکت ثابت هست و توپ متحرک. میخوام وقتی توپ از لبه های راکت بیرون رفت بازی متوقف بشه. چجوری باید خروج توپ از لبه های راکت تشخیص داده بشه؟

ممنون میشم اگه لطف کنید و راهنمایی بکنید! سپاس!

 

z5uv_screenshot_2019-08-15-16-52-10-246_

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

4 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

  • 0
حسین شیخ بارانی    30

کاربر عادی

سلام فرض می کنم که سوال شما این بوده* و جواب میدم!

* شما با سنسور ها اومدید لفت و تاپ توپ رو تغیر می دید و می خواهید اگر توپ از صفحه راکت خارج شد برنامه متوقف بشه!؟؟!

خب شما اول تصویرتون رو کراپ کنید تا حاشیه اضافه نداشته باشه بعد بیایداز طریق left و  widthعرض تصویر و topو height تصویر تشخیص بدید توپ خارج شده یا نه

dim toopLeft,toopTop AS int


if toopLeft+img.width <lmg.left Or toopTop <img.top+img.height OR toopLeft+img.width >img.width Or toopTop >img.height then
log("next")
end if

کد چک نکردم اما روش کار همینه که عرض کردم

توی html چیز های تحت عنوان SVG  و map داریم که میشه مقدار مشخصی از تصویر انتخاب کرد اما شما توی بیسک باید با شرط گذاشتن  به مقدار تقریبی خودتون برسید

یا علی

  • پسندیدن 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
ahmad36    1

کاربر عادی

در هم اکنون، hosseinsheikhbarani گفته است :

سلام فرض می کنم که سوال شما این بوده* و جواب میدم!

* شما با سنسور ها اومدید لفت و تاپ توپ رو تغیر می دید و می خواهید اگر توپ از صفحه راکت خارج شد برنامه متوقف بشه!؟؟!

خب شما اول تصویرتون رو کراپ کنید تا حاشیه اضافه نداشته باشه بعد بیایداز طریق left و  widthعرض تصویر و topو height تصویر تشخیص بدید توپ خارج شده یا نه


dim toopLeft,toopTop AS int


if toopLeft+img.width <lmg.left Or toopTop <img.top+img.height OR toopLeft+img.width >img.width Or toopTop >img.height then
log("next")
end if

کد چک نکردم اما روش کار همینه که عرض کردم

توی html چیز های تحت عنوان SVG  و map داریم که میشه مقدار مشخصی از تصویر انتخاب کرد اما شما توی بیسک باید با شرط گذاشتن  به مقدار تقریبی خودتون برسید

یا علی

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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
Radiomedia    4

کاربر عادی

در در 25 مرداد 1398 در 19:22، ahmad36 گفته است :

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

پاسخ دوست عزیزمون درست بود اما چیزی که شما میخواین به این راحتی نیست، عکس png که لبه راکت رو گرد نشون میده، صرفا برای نمایش به کاربر هست، ولی ما که میدونیم این یک shape نیست که مثلا 8 ضلعی باشه و برنامه گوشه گرد رو تشخیص بده، هر فرمت عکسی که شما بیارید بازم همون مستطیله.

مگر اینکه یک ویو با یک کتابخونه مخصوص رسم بشه که به شکل راکت در بیاد بعدش عکس راکت رو میذارید روش، ولی کدهاتونو با عکس نمی سنجید، با اون ویویی که چند ضلعی هست کد نویسی میکنید، برای این کار میشه لی اوت رو با xml ساخت و تگ path یعنی مسیر میشه هر شکلی که بخوای باش در بیاری و اون فایل xml رو با کتابخانه xml layout builder بیاری داخل b4a ، که برای راهنمایی بیشتر توصیه میکنم متنی شبیه این رو گوگل کنید: رسم ویو چندضلعی در اندروید یا جاوا

البته کتابخانه هایی هم برای بیسیک اومده که بازی سازی رو خیلی آسون کرده که البته من خیلی باشون آشنایی ندارم، GameView - Physic - libGDX که سمپل و نمونه کدهاشونو من از همین انجمن دانلود کردم..

ایشاله موثر باشه..

  • پسندیدن 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
ahmad36    1

کاربر عادی

در در 24 شهریور 1398 در 10:53، Radiomedia گفته است :

پاسخ دوست عزیزمون درست بود اما چیزی که شما میخواین به این راحتی نیست، عکس png که لبه راکت رو گرد نشون میده، صرفا برای نمایش به کاربر هست، ولی ما که میدونیم این یک shape نیست که مثلا 8 ضلعی باشه و برنامه گوشه گرد رو تشخیص بده، هر فرمت عکسی که شما بیارید بازم همون مستطیله.

مگر اینکه یک ویو با یک کتابخونه مخصوص رسم بشه که به شکل راکت در بیاد بعدش عکس راکت رو میذارید روش، ولی کدهاتونو با عکس نمی سنجید، با اون ویویی که چند ضلعی هست کد نویسی میکنید، برای این کار میشه لی اوت رو با xml ساخت و تگ path یعنی مسیر میشه هر شکلی که بخوای باش در بیاری و اون فایل xml رو با کتابخانه xml layout builder بیاری داخل b4a ، که برای راهنمایی بیشتر توصیه میکنم متنی شبیه این رو گوگل کنید: رسم ویو چندضلعی در اندروید یا جاوا

البته کتابخانه هایی هم برای بیسیک اومده که بازی سازی رو خیلی آسون کرده که البته من خیلی باشون آشنایی ندارم، GameView - Physic - libGDX که سمپل و نمونه کدهاشونو من از همین انجمن دانلود کردم..

ایشاله موثر باشه..

سپاسگزارم از راهنمایی شما دوست گرامی

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...