حل شده انجام یک دستور به طور همزمان ؟
#1
سلام. 4
سوالی با یک مثال :
کاراکتر A قرار با برخورد به کاراکتر B از بین بره اما زمانی که دو کاراکتر A به دو
کارکاتر B برخورد می کنند ، یا با تعداد بیشتر ...

33
مشکلی که پیش میاد اینه که فقط یکی از اونها عمل میکنه و باقی درست عمل نمی کنن
دستور پخش انیمیشنی C همزمان برای هر 2 انجام میشود اما انجام دستور نابود شدن فقط برای یکی انجام
میشود و در باقی اونها عمل نابودی کاراکتر A انجام نمی شود
لطفاً اگه کسی می دونه بگه مشکل از کجاست ؟
-
-
  پاسخ


 سپاس شده توسط:
#2
این یکی از کاستی های انجین کانستراکت در برخورد هست و نمی تواند تعداد اشیای برخورد شده را گزارش دهد.
برای اینکار شما باید در رویداد برخورد اکشن ها شناسه uid هر شی را دریک ارایه push کنید . چون می خواهید هر دو بیش از دوتا باشد باید دو آرایه بسازید یکی برای شی اول و دیگری برای شی دوم. که /ایدی های هر دو شی نگه داری میکند  سپس یک زیر شرط اگر تعداد عنصر آرایه بزرگتر  مساوی 2 شد . با یک حلقه همه شی ها که ای دی انها در آرایه هست حذف شوند را باید حذف کرد.
این خیلی پیچیده است
  پاسخ


 سپاس شده توسط: makan parsi ، keyhan
#3
سلام.

مشکلی که وجود داره اینه که من یک توپ جنگی توی بازی دارم
و اجزای این توپ از هم جدا هستن و به دو بخش متحرک و ثابت تقسیم میشن
بخش متحرک همون لوله توپ جنگی و بخش ثابت پایه (بدنه) ان است


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


-
-
  پاسخ


 سپاس شده توسط:
#4
اصلاً نمی فهمم چرا اینطوری میشه اگه اینطور باشه پس
وقتی مثلاً چند هیولا در بازی داریم با نابود شدن یکیش که نباید بقیه هم نابود بشن !

-
-
  پاسخ


 سپاس شده توسط:
#5
نه نمیشه که 
شما یه ابجکتو کپی پیست کنی هر کدوم مستقله ولی کلون کنی فکر نکنم باشه 
! KEEP CALM AND LOVE CONSTRUCT 2 
آرام باش و به کانستراکت 2 عشق بورز !
  پاسخ


 سپاس شده توسط:
#6
(1394/7/4، 07:27 عصر)makan parsi نوشته است: سلام. 4 
سوالی با یک مثال :
کاراکتر A قرار با برخورد به کاراکتر B از بین بره اما زمانی که دو کاراکتر A به دو
کارکاتر B برخورد می کنند ، یا با تعداد بیشتر ...

 33 
مشکلی که پیش میاد اینه که فقط یکی از اونها عمل میکنه و باقی درست عمل نمی کنن
دستور پخش انیمیشنی C همزمان برای هر 2 انجام میشود اما انجام دستور نابود شدن فقط برای یکی انجام
میشود و در باقی اونها عمل نابودی کاراکتر A انجام نمی شود
لطفاً اگه کسی می دونه بگه مشکل از کجاست ؟

سلام
حتماً ایونت شما فقط برخورد نیست و یک شرط دیگه هم گذاشتید که برای یکی از اون‌ها فقط صدق می‌کنه.
یا این‌که مشکلی با پیک کردن دارید.

(1394/7/16، 10:20 صبح)makan parsi نوشته است: مشکلی که وجود داره اینه که من یک توپ جنگی توی بازی دارم
و اجزای این توپ از هم جدا هستن و به دو بخش متحرک و ثابت تقسیم میشن
بخش متحرک همون لوله توپ جنگی و بخش ثابت پایه (بدنه) ان است


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

اگه اون‌ها رو در یک کانتینر قرار بدین خیلی ساده مشکلتون حل می‌شه و با نابودی یک تیکه بقیه‌ش هم نابود می‌شه.
اگه قسمت چهارم ویدئوهای دوره‌ی آموزشی رو ببینید جواب هر دو سؤالتون رو می‌گیرید (مفهوم پیک و کانتینر).
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


 سپاس شده توسط: makan parsi
#7
سلام.

ممنون از همگی ...
مشکل پیچیده تر از اینه که توضیح دادم و اینکه کسی بخواد بهم توضیج بده اینجا نمیشه
همون باید برم کلیپ های آموزشی رو بیبنم.

-
-
  پاسخ


 سپاس شده توسط:
#8
مشکلی گفتی به بخش رویداد نویسی مربوط می شود. کاربرد رویداد ها و پرسش ها (شرط ها) این هست که هالت و زمان و مکان یک شی را بیان کند سپس نمونه ها و اشیایی که این ویژگی ها (رویدادن ها) را دارا می باشد. اکشن هایش میتوانند اجرا شوند .

مانند همیشه در هنگام زهر ، وختی که برادرم گرسنه می شود . کیک خامه ای می خود. اگر این مثال را دقت کنید بخش اول رویداد هست و بخش دوم کاری که وختی رویداد اتفاق می افتد انجام می شود.

پس کار رویداد کنترول روند اجرای اکشن ها است. بستگی به نوع و خود رویداد یکسری از نمونه ها پالایش یا برگزیده می شوند. 
در رویداد برخورد. وختی رخ بدهد تنها نمونه هایی که به هم خورده اند .اکشن ها فعال می شوند. پس در این هالت ما میتوانیم اکشن ها این دو شی را در اینجا بسازیم . اکنون اگر اکشن های این دو شی را در این بخش بسازیم فقط بر این دو عمل می کند. اگر شما اکشنی بجز این دو شی برخورد شده بسازید روی همه نمونه ها انجام می شود. چون این رویداد فقط روی نمونه ها برخورد شده می تواند کنترول کند دیگر اشیا که از آن نمون نباشند بصورت همگانی اکشن ها اجرا می شوند.
مانند شما دستور پاک کردن یک دشمن رو می دی که در رویداد برخورد نیست(جز برخورد کننده ها نیست). پس بروی همه انجام می شود (peek all)

در دانش رویدادها 3 بهس پیش کشیده می شود
1- چرخه زندگی رویداد: چندبار انجام شدن رویداد و کارها
2- رخ دادن رویداد 
3- برداشتن و گزینش شی ها و نمونه ها (پالایندگی کار برای شی ها)  
در این باره باید راهنمای خوبی ساخته شود تا رویدادها و اکشن ها روشن سازی شود.
نکته : هنگامی که در بخش رویدادها دیگر شی ها نباشد ، کارها(اکشن ها) روی همه نمونه ها انجام می شود.


بهس آخر: شما باید درباره اندریافته های زیر بیاموزید.

کلاس (دانشپایه): این بخش نخستین گام برای ساخت برنامه نویسی شی گرایی (افرس گرایی) است. یک همسان سازی خام ار چیزی که می خواهیم پیاده سازی و بسازیمش مانند اسپرایت یا پس زمینه . در این بخش تمام ویژگی ها ( مانند رنگ - دبیره - اندازه - نام و ...) پردازه ها (اکشن ها یا پردازه ها و کارهایی که باید انجام دهد) و رویداد ها په روش خام پیاده سازی وساخته می شود.خام یعنی با اجرا کد ها هیچ واکنشی نمی دهد(هیچی اجرا نمی شود). برای اینکه از دانشپایه در برنامه نویسی بهرمند شویم باید از روی آن چیز ساخت.(یک نمونه ساخت که با نمونه ساخت ).

شی (افرس): یک نمونه که از دانشپایه(کلاس) ساخته می شود به ان افرس (شی) گفته می شود. در کانستراکت هنگامی که شما دوبار روی لایه بندی (لایوت) تلیک (کلیک) می کنید یا کلید راست موشواره و گزینه insert new object رو م زنیم یک پنجره نمایان می شود که شما می توانید افزونه ها افرس (پلاگین ها شی) را ببینید . هنگامی که شما یک افزونه را بر می گزینید و روی دکمه تایید را فشار می دهید و افزونه به پروژه تان افزوده می شود به ان افرس (شی) گفته می شود. که ویژگی های خود را از پدر خود که همان دانش پایه (کلاس) بجا می ماند. اگر شما فیلد(ویزگی) را دستکاری نکنید مگدارش را از پدرش می گیرد . مانند تکست باکس ویزگی دبیره(فونت) اگر شما مقدارش رو دستکاری نکینید اگر مقدار پدرش مثلا آریال باشد. مگدار شی شما هم آریال می شود. هر شی که از  insert new object بسازید به شی پدر گفته می شود.

نمونه گیری : اگر شما از روی افرس رونوشت(کپی) بگیری به این کار نمونه سازی گفته می شود . هر گاه در کانستراکت از روی یک شی موجو در پروژه تان یکی دیگر می سازی به آن نمونه گفته می شود. که ویژگی هایش را از شی پدر از اولین شی که شما از ان ساختید می گیرد.

افزونه : یک روش پیاده سازی و نگرش بیرونی از  کلاس هست که بهش و یژگی هایی چون توانایی جابجایی و خود نسپ ساده و میانجی کاربری می دهد.

این هم چرخه ساخت یک چیز مانند گلوله در برنامه نویسی  نوین:

کلاس --> افزونه ---> افرس ها ---> نمونه ها

تکست باکس --> افزونه تکست باکس --> نام نویسی --> (نام - نام خانوادگی - گذر واژه - نام کاربری).

درخت ارث بری (داده ستانی):

کلاس <--- افزونه <--- افرس ها <--- نمونه ها

می بینید اگر شما مگدار را دستکاری نکنید از جایی که واژگرد(تغییر) نشده مگدار دهی می شود . این توانایی برای ساخت بازی سازی و برنامه های سنگین خیلی کارایی دارد چون از یک سو حجم ذخیره سازی و حافظه را کاهش می دهد و از سوی دیگر نرخ انجام شدن فرایند و پردازه ها را افزایش می دهد و  سرباری و کار گرفتن از پردازنده را می کاهد.
از سوی دیگر دوباره نویسی را ازبین می برد و  ...

  پاسخ


 سپاس شده توسط: makan parsi ، Vizmark# ، keyhan


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  حل شده ارور جاوا M.gh 4 1,867 1403/6/27، 10:19 عصر
آخرین ارسال: Klkj
  این چیه alirezagamemaker 4 2,328 1403/6/27، 10:18 عصر
آخرین ارسال: Klkj
  نشان دادن حرف در بازی کلماتی mehdi 0 287 1403/5/13، 05:27 عصر
آخرین ارسال: mehdi
  حل شده مشکل در آرایه mehdi 2 557 1403/4/26، 11:41 عصر
آخرین ارسال: mehdi
  حل شده خرید درون برنامه مایکت در وب ویو Arianm 3 1,296 1402/4/25، 12:01 عصر
آخرین ارسال: Arianm

پرش به انجمن: