ارسالها: 1,091
موضوعها: 122
تاریخ عضویت: دي 1393
مکان: همدان-ملایر
سپاسها: 236
1923 سپاس گرفتهشده در 1126 ارسال
این یکی از کاستی های انجین کانستراکت در برخورد هست و نمی تواند تعداد اشیای برخورد شده را گزارش دهد.
برای اینکار شما باید در رویداد برخورد اکشن ها شناسه uid هر شی را دریک ارایه push کنید . چون می خواهید هر دو بیش از دوتا باشد باید دو آرایه بسازید یکی برای شی اول و دیگری برای شی دوم. که /ایدی های هر دو شی نگه داری میکند سپس یک زیر شرط اگر تعداد عنصر آرایه بزرگتر مساوی 2 شد . با یک حلقه همه شی ها که ای دی انها در آرایه هست حذف شوند را باید حذف کرد.
این خیلی پیچیده است
ارسالها: 318
موضوعها: 37
تاریخ عضویت: شهر 1394
مکان: همه ی ایران سرای من است
سپاسها: 294
179 سپاس گرفتهشده در 121 ارسال
سلام.
مشکلی که وجود داره اینه که من یک توپ جنگی توی بازی دارم
و اجزای این توپ از هم جدا هستن و به دو بخش متحرک و ثابت تقسیم میشن
بخش متحرک همون لوله توپ جنگی و بخش ثابت پایه (بدنه) ان است
به تعداد 2 توپ جنگی در زمین وجود داره ، مشکل اینجاست که بعد از نابودی توپ جنگی
اول فقط قسمت متحرک توپ جنگی دوم هم نابود میشه، دردسریه برای خودش
-
-
ارسالها: 318
موضوعها: 37
تاریخ عضویت: شهر 1394
مکان: همه ی ایران سرای من است
سپاسها: 294
179 سپاس گرفتهشده در 121 ارسال
اصلاً نمی فهمم چرا اینطوری میشه اگه اینطور باشه پس
وقتی مثلاً چند هیولا در بازی داریم با نابود شدن یکیش که نباید بقیه هم نابود بشن !
-
-
ارسالها: 701
موضوعها: 24
تاریخ عضویت: خرد 1394
مکان: شیراز
سپاسها: 753
626 سپاس گرفتهشده در 365 ارسال
نه نمیشه که
شما یه ابجکتو کپی پیست کنی هر کدوم مستقله ولی کلون کنی فکر نکنم باشه
! KEEP CALM AND LOVE CONSTRUCT 2
آرام باش و به کانستراکت 2 عشق بورز !
ارسالها: 318
موضوعها: 37
تاریخ عضویت: شهر 1394
مکان: همه ی ایران سرای من است
سپاسها: 294
179 سپاس گرفتهشده در 121 ارسال
سلام.
ممنون از همگی ...
مشکل پیچیده تر از اینه که توضیح دادم و اینکه کسی بخواد بهم توضیج بده اینجا نمیشه
همون باید برم کلیپ های آموزشی رو بیبنم.
-
-
ارسالها: 1,091
موضوعها: 122
تاریخ عضویت: دي 1393
مکان: همدان-ملایر
سپاسها: 236
1923 سپاس گرفتهشده در 1126 ارسال
مشکلی گفتی به بخش رویداد نویسی مربوط می شود. کاربرد رویداد ها و پرسش ها (شرط ها) این هست که هالت و زمان و مکان یک شی را بیان کند سپس نمونه ها و اشیایی که این ویژگی ها (رویدادن ها) را دارا می باشد. اکشن هایش میتوانند اجرا شوند .
مانند همیشه در هنگام زهر ، وختی که برادرم گرسنه می شود . کیک خامه ای می خود. اگر این مثال را دقت کنید بخش اول رویداد هست و بخش دوم کاری که وختی رویداد اتفاق می افتد انجام می شود.
پس کار رویداد کنترول روند اجرای اکشن ها است. بستگی به نوع و خود رویداد یکسری از نمونه ها پالایش یا برگزیده می شوند.
در رویداد برخورد. وختی رخ بدهد تنها نمونه هایی که به هم خورده اند .اکشن ها فعال می شوند. پس در این هالت ما میتوانیم اکشن ها این دو شی را در اینجا بسازیم . اکنون اگر اکشن های این دو شی را در این بخش بسازیم فقط بر این دو عمل می کند. اگر شما اکشنی بجز این دو شی برخورد شده بسازید روی همه نمونه ها انجام می شود. چون این رویداد فقط روی نمونه ها برخورد شده می تواند کنترول کند دیگر اشیا که از آن نمون نباشند بصورت همگانی اکشن ها اجرا می شوند.
مانند شما دستور پاک کردن یک دشمن رو می دی که در رویداد برخورد نیست(جز برخورد کننده ها نیست). پس بروی همه انجام می شود (peek all)
در دانش رویدادها 3 بهس پیش کشیده می شود
1- چرخه زندگی رویداد: چندبار انجام شدن رویداد و کارها
2- رخ دادن رویداد
3- برداشتن و گزینش شی ها و نمونه ها (پالایندگی کار برای شی ها)
در این باره باید راهنمای خوبی ساخته شود تا رویدادها و اکشن ها روشن سازی شود.
نکته : هنگامی که در بخش رویدادها دیگر شی ها نباشد ، کارها(اکشن ها) روی همه نمونه ها انجام می شود.
بهس آخر: شما باید درباره اندریافته های زیر بیاموزید.
کلاس (دانشپایه): این بخش نخستین گام برای ساخت برنامه نویسی شی گرایی (افرس گرایی) است. یک همسان سازی خام ار چیزی که می خواهیم پیاده سازی و بسازیمش مانند اسپرایت یا پس زمینه . در این بخش تمام ویژگی ها ( مانند رنگ - دبیره - اندازه - نام و ...) پردازه ها (اکشن ها یا پردازه ها و کارهایی که باید انجام دهد) و رویداد ها په روش خام پیاده سازی وساخته می شود.خام یعنی با اجرا کد ها هیچ واکنشی نمی دهد(هیچی اجرا نمی شود). برای اینکه از دانشپایه در برنامه نویسی بهرمند شویم باید از روی آن چیز ساخت.(یک نمونه ساخت که با نمونه ساخت ).
شی (افرس): یک نمونه که از دانشپایه(کلاس) ساخته می شود به ان افرس (شی) گفته می شود. در کانستراکت هنگامی که شما دوبار روی لایه بندی (لایوت) تلیک (کلیک) می کنید یا کلید راست موشواره و گزینه insert new object رو م زنیم یک پنجره نمایان می شود که شما می توانید افزونه ها افرس (پلاگین ها شی) را ببینید . هنگامی که شما یک افزونه را بر می گزینید و روی دکمه تایید را فشار می دهید و افزونه به پروژه تان افزوده می شود به ان افرس (شی) گفته می شود. که ویژگی های خود را از پدر خود که همان دانش پایه (کلاس) بجا می ماند. اگر شما فیلد(ویزگی) را دستکاری نکنید مگدارش را از پدرش می گیرد . مانند تکست باکس ویزگی دبیره(فونت) اگر شما مقدارش رو دستکاری نکینید اگر مقدار پدرش مثلا آریال باشد. مگدار شی شما هم آریال می شود. هر شی که از insert new object بسازید به شی پدر گفته می شود.
نمونه گیری : اگر شما از روی افرس رونوشت(کپی) بگیری به این کار نمونه سازی گفته می شود . هر گاه در کانستراکت از روی یک شی موجو در پروژه تان یکی دیگر می سازی به آن نمونه گفته می شود. که ویژگی هایش را از شی پدر از اولین شی که شما از ان ساختید می گیرد.
افزونه : یک روش پیاده سازی و نگرش بیرونی از کلاس هست که بهش و یژگی هایی چون توانایی جابجایی و خود نسپ ساده و میانجی کاربری می دهد.
این هم چرخه ساخت یک چیز مانند گلوله در برنامه نویسی نوین:
کلاس --> افزونه ---> افرس ها ---> نمونه ها
تکست باکس --> افزونه تکست باکس --> نام نویسی --> (نام - نام خانوادگی - گذر واژه - نام کاربری).
درخت ارث بری (داده ستانی):
کلاس <--- افزونه <--- افرس ها <--- نمونه ها
می بینید اگر شما مگدار را دستکاری نکنید از جایی که واژگرد(تغییر) نشده مگدار دهی می شود . این توانایی برای ساخت بازی سازی و برنامه های سنگین خیلی کارایی دارد چون از یک سو حجم ذخیره سازی و حافظه را کاهش می دهد و از سوی دیگر نرخ انجام شدن فرایند و پردازه ها را افزایش می دهد و سرباری و کار گرفتن از پردازنده را می کاهد.
از سوی دیگر دوباره نویسی را ازبین می برد و ...