دو ,سوال درمورد یونیتی c#
#1
سلام دو سوال دارم:
1- چطوری میشه در متد Update که همیشه در حال اجراست یک کد رو فقط بای یکبار اجرا کرد
مثال:
میخوام همیشه این شرط رو چک کنه و در صورت درست بودن شرط دستور پرینت رو فقط یکبار اجرا کنه
کد:
void Update () {
if (var == 1) {
    print ("show");
}
}

2- برای ریست تمام خواص یک آبجکت از چه دستوری باید اسفاده کرد
  پاسخ


 سپاس شده توسط:
#2
سوال دوم تون رو نمیدونم، ولی برای سوال اول تون میتونید داخل دستورات شرط if آخرش یه var++ بنویسید
  پاسخ


 سپاس شده توسط: shazde
#3
(1396/3/3، 01:48 عصر)mahdi_R8095 نوشته است: سوال دوم تون رو نمیدونم، ولی برای سوال اول تون میتونید داخل دستورات شرط if آخرش یه var++ بنویسید

نه نمیخوام متغییر رو تغییر بدم که شرط رو اجرا نکنه 
میخوام هر بار که شرط از غلط به درست تغییر میکنه فقط یکبار دستور پرینت رو اجرا کنه
  پاسخ


 سپاس شده توسط:
#4
سلام
دوست عزیز برای صحیح غلط از بولین استفاده کنی بهتره ی نمونه کد بهت میدم بدردت میخوره
کد:
void Update () {
if(input.getkeydown(keycode.S){
shart();
}
}
void shart () {
if(yourbool == true )
print("shart shoma dorost ast");
if(yourbool == false)
print("shart shoma false mibashad");
}
خب در اینجا ما با فشار دادن دکمه s یک تابع را فراوخانی میکنیم که میایم و متغییر دلخواه رو درون اون بررسی میکنیم
که اگه درست بود یچی بشه و اگه غلطط بود یچی
در ضمن شما میتونید قبل فراخواستن تابع متغیرتون رو مقدار دهی کنید و همچنین بجای دکمهs شرط دیگه ای بزارید
تا تابع فراخوانی شه .
برای ریست کردن هم باید تک تک مقدار متغیر هاتون رو با getcomponent دریافت کنید داخل کد مورد نظر و
اوناو برابر 0 قرار بدید یا اینکه سین رو ریستارت کنید.
موفق باشید
 
  پاسخ


 سپاس شده توسط:
#5
(1396/3/4، 04:01 صبح)danials008 نوشته است:
سلام
دوست عزیز برای صحیح غلط از بولین استفاده کنی بهتره ی نمونه کد بهت میدم بدردت میخوره
کد:
void Update () {
if(input.getkeydown(keycode.S){
shart();
}
}
void shart () {
if(yourbool == true )
print("shart shoma dorost ast");
if(yourbool == false)
print("shart shoma false mibashad");
}
خب در اینجا ما با فشار دادن دکمه s یک تابع را فراوخانی میکنیم که میایم و متغییر دلخواه رو درون اون بررسی میکنیم
که اگه درست بود یچی بشه و اگه غلطط بود یچی
در ضمن شما میتونید قبل فراخواستن تابع متغیرتون رو مقدار دهی کنید و همچنین بجای دکمهs شرط دیگه ای بزارید
تا تابع فراخوانی شه .
برای ریست کردن هم باید تک تک مقدار متغیر هاتون رو با getcomponent دریافت کنید داخل کد مورد نظر و
اوناو برابر 0 قرار بدید یا اینکه سین رو ریستارت کنید.
موفق باشید
ممنون ولی نمیخوام از این راهها استفاده کنم
من میخوام در متد آپدیت یه شرط داشته باشم که هرموقع صحیح بود فقط یکبار دستورات داخل شرط رو اجرا کنه 
چیزی شبیه Trigger once تو کنستراکت
خیلی واضح توضیح دادم چی میخوام
  پاسخ


 سپاس شده توسط:
#6
(1396/3/4، 12:52 عصر)hamed2002 نوشته است:
کد:
void Update () {
if (var == 1) {
   print ("show");
   break ;
}
}
اخر كد ميتونى يدونه ; break بندازى فكر كنم مشكلت حل ميشه

فکر break مال شکستن حلقه بودا
  پاسخ


 سپاس شده توسط:
#7
break برای حلقه استفاده میشه
  پاسخ


 سپاس شده توسط:


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سیستمم مورد نیاز برای یونیتی 5 ^_^ Ali ^_^ 5 4,343 1402/3/5، 10:31 عصر
آخرین ارسال: M.Y
  کمترین حجم بازی محمد 82 3 1,132 1401/11/16، 11:29 صبح
آخرین ارسال: mostafanastary
  خروجی IL2CPP در یونیتی arshia ajoudani 2 1,643 1401/11/11، 11:09 صبح
آخرین ارسال: abedi
  خروجی وب M.Y 0 1,022 1401/8/1، 04:36 عصر
آخرین ارسال: M.Y
  سوال در مورد دوره شوتر اول شخص استاد رجب زاده amin hosseini 1 1,744 1400/12/20، 11:01 عصر
آخرین ارسال: ᔕinaᗪehghani

پرش به انجمن: