درود مهمان گرامی! ثبت نام

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
تشخیص کلیک شدن یک گیم آبجکت در 2d و 3d
#11
(15/6/1397، 04:43 عصر)start777 نوشته است: در کد بالا ما میگیم اگر گیم آبجکت الف لمس شد آنوقت اتفاق ب بیفتد . حالا من میخوام کد به اینصورت باشه که اگر گیم آبجکت الف سه بار لمس شد آنوقت اتفاق ب بیفتد .
البته میتونم یک متغییر از نوع int تعریف کنم و در قسمت  نتیجه ی کد بالا قرار بدم تا با هر بار لمس گیم آبجکت یکی اضافه بشه و وقتی سه شد اتفاق ب بیفته . اما اگر بشه میخوام تو همین کد انجام بشه تا حجم کدهام بالا تر نره .

راهی که به ذهن بنده میرسه هم همین راه شماست
اگر چیزی به ذهن کسی میرسه راهنماییمون کنه ممنون میشم smiley
پاسخ
 سپاس شده توسط start777
#12
این کد:
کد:
private int _touchCount = 0;
void OnMouseDown()
{
_touchCount+=1;
}

void Update()
{
if (_touchCount >= 3){
"وقتی سه بار کلیک شد"
}
}
پاسخ
 سپاس شده توسط start777
#13
سلام مجدد
دوستان من به یک مشکل برخوردم و اون اینه که کدهای بالا برای گیم آبجکت در حال حرکت کار نمیکنه .
من از کد های زیر استفاده میکنم .

البته اینجا کمی بهم ریخته اند ولی مشکلی ندارند و برای گیم آبجکت های ثابت کار می کنند . لطفا راهنمایی بفرمائید . با تشکر 
کد:
void act () {
       
       xsa -= 3f*Time.deltaTime*speed1;
       ysb += 3f*Time.deltaTime*speed2;
       ab = new Vector2 (-3f+xsa , -3.1f+ysb);
       

       aa.gameObject.transform.position = ab;
   }


if (Input.touchCount > 0) {
           Touch touch = Input.GetTouch (0);

           if (touch.phase == TouchPhase.Ended) {
               RaycastHit2D hit = Physics2D.Raycast (Camera.main.ScreenToWorldPoint ((touch.position)), Vector2.zero);

               if (hit.collider != null && hit.collider. gameObject
.name == "aa") {
                   totalscore += 10;
                                      aa.SetActive (false);
                }
        }
}
پاسخ
#14
این کد با استفاده از ری کست اینکارو انجام میده و وابسته به سیستم فیزیک هست ، پس برای اینکه بتونید ازش استفاده کنید باید ابجکت مد نظرتون حداقل یک کلایدر و دارای کامپوننت ریجید بادی باشه (در حالت داینامیک نه سینماتیک). این رو بررسی کنید که در ابجکت های متحرکتون رعایت شده یا نه
پاسخ
 سپاس شده توسط qwerty13 ، start777
#15
Question 
بله گیم آبجکت من باکس کلایدر و ریجید بادی هم داره . ولی نمیدونم چرا عمل نمیکنه .
لطفا در مورد حالت داینامیک و سینماتیک هم توضیح بدین . 
گیم آبجکت من یک تصویر هست که سر یک زمانی شروع به حرکت میکنه .  اینم کامپوننتهای این گیم آبجکت :
resim

ضمنا کلایدر و ریجید بادی دوبعدی رو هم امتحان کردم و توی کد هم یکبار بجای گیم آبجکت از ترنسفورم استفاده کردم . اما متاسفانه نشد !
پاسخ
#16
سلام 
یکبار دیگه با باکس کلایدر دو بعدی امتحان کردم و مشکل حل شد .
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  افزودن کامپوننت به یک گیم آبجکت از طریق اسکریپت sajjad3011 1 1,428 10/4/1393، 09:59 صبح
آخرین ارسال: mzr



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