درود مهمان گرامی! ثبت نام
آموزش ساخت بازی در #C آموزش UDK آموزش مدل سازی در Maya
آموزش ساخت بازی در VB آموزش Unity - پروژه محور آموزش مدل سازی با 3Ds Max
آموزش برنامه نویسی اندروید آموزش Unity - ساخت منو آموزش متحرک سازی در 3Ds Max
آموزش ساخت بازی حدس تصویر آموزش Unity - متحرک سازی مجموعه آموزش های ساخت بازی
● آموزش های رایگان ● تبلیغات دیجیتال هوشمند ● استخدام در فرادرس

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل جون در روم دوم یا لول دوم؟!
#11
(12/11/1397، 02:08 صبح)ArminaGames نوشته است: دوست خوب من، اگر این مفاهیم رو ندونی سورس بیشتر گیجت میکنه و نمی تونی از اون توی پروژه ی خودت درست استفاه کنی، این توضیح کوتاهی رو که میدم اگر دقیقا اجرا کنی مشکلت کاملا حل میشه:
1.یه اسپرایت خالی ایجاد کن و اسم اون رو بزار spr_empty
2.توی ایونت Collision دشمن که به پلیر نسبت دادی این کد رو بزار :
کد:
mask_index = spr_empty

اگه تو رویداد collision پلیر بذارم پلیرم بعد برخورد دیگه خاصیت جاذبه یا هر چی هست رو از دست میده و سقوط میکنه و از room خارج میشه!
اگه تو رویداد collision دشمن بذارم بعد برخورد مسیر حرکتش رو ادامه میده و از room خارج میشه!

البته مشکل جون حل شد. اما این مشکل رو ایجاد کرد. sad
پاسخ
#12
(12/11/1397، 12:30 عصر)qwerty13 نوشته است:
(11/11/1397، 02:39 صبح)ArminaGames نوشته است: چون قراره فقط یک بار برخورد انجام بشه، نیازی نیست که قضیه رو انقدر پیچیده کنید، کافیه از mask_index استفاده کنید. یه اسپرایت بدون mask ایجاد کن و زمانی که برخورد انجام شد mask_index دشمن رو برابر کن با اسپرایت ایجاد شده، همین، تمام.

خداوکیلی ماسک ایندکس پیچیده تره ها straight
بعد هم فکر میکنم بیشتر از یک بار برخورد وجود داره، مگر نه؟

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

اما در هر مرحله میخوام فقط یک برخورد محاسبه بشه و یک جون کم بشه .الان با mask مشکل جون حل شد اما انوقت دشمن در ان مسیر مشخص حرکت نمیکنه و از روم خارج میشه!
پاسخ
#13
(12/11/1397، 12:48 عصر)qwerty13 نوشته است: ببینید، تابع collision_circle کارش بررسی برخورد ما با یک آبجکت خاص هست(توابع دیگه ای هم هستن اما این یکی به صورت دایره ای بررسی میکنهsmiley
resim
حالا اگر ما این تابع رو داخل یک if بذاریم میتونیم متوجه بشیم که به آبجکت خاص خودمون برخورد کردیم یا نه.
قضیه اون متغیری که با برخورد 1 و بعدش دوباره 0 میشه رو متوجه شدید؟

توضیح رو فهمیدم اما اینکه این کد رو تو step پلیر بنویسم؟
یا دشمن؟ یا collision?
20 چیه؟
الان همه رو امتحان کردم اصلا مشکل حل نشد. دقیقا همین کد رو نوشتم بجز ویرایش اسم ابجکت دشمن! دریغ از یه تعییر!!!
پاسخ
#14
خب علتش اینه که شما نگفته بودی حرکت دشمن ها به چه صورتی هست، احتمالا با برخورد به دیوارها حرکتشون مشخص میشه، اگر میخوای از همین روش استفاده کنی باید برای حرکت دشمن ها از path استفاده کنی یا براشون کدهای مختصات بنویسی، اگر بازیت یه بازی ساده هست و پیچیدگی های هوش مصنوعی رو هم نداشته باشه یکی از بهترین راه ها برای حرکت دشمن ها استفاده از path هستش
پاسخ
#15
(12/11/1397، 08:45 عصر)asi123 نوشته است:
(12/11/1397، 12:48 عصر)qwerty13 نوشته است: ببینید، تابع collision_circle کارش بررسی برخورد ما با یک آبجکت خاص هست(توابع دیگه ای هم هستن اما این یکی به صورت دایره ای بررسی میکنهsmiley
resim
حالا اگر ما این تابع رو داخل یک if بذاریم میتونیم متوجه بشیم که به آبجکت خاص خودمون برخورد کردیم یا نه.
قضیه اون متغیری که با برخورد 1 و بعدش دوباره 0 میشه رو متوجه شدید؟

توضیح رو فهمیدم اما اینکه این کد رو تو step پلیر بنویسم؟
یا دشمن؟ یا collision?
20 چیه؟
الان همه رو امتحان کردم اصلا مشکل حل نشد. دقیقا همین کد رو نوشتم بجز ویرایش اسم ابجکت دشمن! دریغ از یه تعییر!!!

باید داخل step بازیکن باشه.
احتمالا مسائل با هم قاطی شدن و گیج شدید؛ یک بار دیگه از نو کدشو بنویسید اگر نشد کد رو بذارید اینجا با هم بررسیش کنیم.
کیــــــــــ qwerty13 ـــــــوورتی13
پاسخ
#16
(13/11/1397، 02:31 صبح)ArminaGames نوشته است: خب علتش اینه که شما نگفته بودی حرکت دشمن ها به چه صورتی هست، احتمالا با برخورد به دیوارها حرکتشون مشخص میشه، اگر میخوای از همین روش استفاده کنی باید برای حرکت دشمن ها از path استفاده کنی یا براشون کدهای مختصات بنویسی، اگر بازیت یه بازی ساده هست و پیچیدگی های هوش مصنوعی رو هم نداشته باشه یکی از بهترین راه ها برای حرکت دشمن ها استفاده از path هستش

path معرفی کردم
کد خطای زیر رو موقع برخورد میده weak


فایل‌(های) پیوست شده
.jpg   Untitled2323.jpg (اندازه: 54.96 KB / تعداد دفعات دریافت: 1)
پاسخ
#17
(13/11/1397، 02:49 عصر)qwerty13 نوشته است:
(12/11/1397، 08:45 عصر)asi123 نوشته است: توضیح رو فهمیدم اما اینکه این کد رو تو step پلیر بنویسم؟
یا دشمن؟ یا collision?
20 چیه؟
الان همه رو امتحان کردم اصلا مشکل حل نشد. دقیقا همین کد رو نوشتم بجز ویرایش اسم ابجکت دشمن! دریغ از یه تعییر!!!

باید داخل step بازیکن باشه.
احتمالا مسائل با هم قاطی شدن و گیج شدید؛ یک بار دیگه از نو کدشو بنویسید اگر نشد کد رو بذارید اینجا با هم بررسیش کنیم.

weak  عکس اکشن های step رو میذارم.چون اصلا از کد استفاده نکردم در این رویداد.فقط همین کد بود. از اکشن اماده ی خود بازی استفاده کردم


فایل‌(های) پیوست شده
.jpg   Untitled2424.jpg (اندازه: 312.9 KB / تعداد دفعات دریافت: 1)
پاسخ
#18
(14/11/1397، 08:14 عصر)asi123 نوشته است:
(13/11/1397، 02:49 عصر)qwerty13 نوشته است: باید داخل step بازیکن باشه.
احتمالا مسائل با هم قاطی شدن و گیج شدید؛ یک بار دیگه از نو کدشو بنویسید اگر نشد کد رو بذارید اینجا با هم بررسیش کنیم.

weak  عکس اکشن های step رو میذارم.چون اصلا از کد استفاده نکردم در این رویداد.فقط همین کد بود. از اکشن اماده ی خود بازی استفاده کردم

اصلا نمیتونم سورس بفرستم که ببینید اصلا جواب نمیده sad

لطفا کسی راه حلی بده depressed
پاسخ
#19
کسی نیست بتونه راه حل بده what

خواهش میکنم depressed
پاسخ
#20
(14/11/1397، 08:09 عصر)asi123 نوشته است:
(13/11/1397، 02:31 صبح)ArminaGames نوشته است: خب علتش اینه که شما نگفته بودی حرکت دشمن ها به چه صورتی هست، احتمالا با برخورد به دیوارها حرکتشون مشخص میشه، اگر میخوای از همین روش استفاده کنی باید برای حرکت دشمن ها از path استفاده کنی یا براشون کدهای مختصات بنویسی، اگر بازیت یه بازی ساده هست و پیچیدگی های هوش مصنوعی رو هم نداشته باشه یکی از بهترین راه ها برای حرکت دشمن ها استفاده از path هستش

path معرفی کردم
کد خطای زیر رو موقع برخورد میده weak

این کد رو برای دشمن گذاشتم با حرکت path درست شد.

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




کاربرانِ درحال بازدید از این موضوع: 1 مهمان