«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
پیدا کردن نزدیک ترین گیم آبجکت نسبت به گیم آبجکت دیگر در یونیتی :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

قدیمیا دلم براتون تنگ شده... فقط معرفی کنید توی پیامک یا تماس یاد بیارید.
اگه جواب ندادم شاید موقعیت نداشته باشم.
بگید توی پیام از بچه های پرومیکرز هستید.

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

gameover.blog.ir

به کمک این متود که به شما معرفی میکنم میتوانید نزدیک ترین گیم آبجکت را پیدا کنید

(متود بهینه سازی شده است)



    public GameObject ClosestTarget(string Tag)
    {
        GameObject ClosestOBJ = null;
        GameObject[] Objects = GameObject.FindGameObjectsWithTag(Tag);
        foreach (GameObject obj in Objects)
        {
            if (ClosestOBJ == null)
            {
                ClosestOBJ = obj;
            }
            if (Vector3.Distance(transform.position, obj.transform.position) <= Vector3.Distance(transform.position, ClosestOBJ.transform.position))
            {
                ClosestOBJ = obj;
            }
        }
        return ClosestOBJ;
    }

برای استفاده از کد بالا کافیه اونو کپی کنید درون اسکریپت و یه GameObject رو تعریف کنید و بعدش اینو به گیم آبجکت بدید مثال :




GameObject x = ClosestTarget("Enemies");

در کد بالا گیم آبجکت x نزدیک ترین گیم آبجکتی است که تگ Enemies را دارد

نظرات (۳)

سلام خسته نباشید من چطور می تونم این اسکریپت در یک وید دیگه فراخوانی کنم

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

من اسکریپت تو اینطوری اصلاح کردم و این درست کار میکنه

 این اسکریپت مرتب آپدیت میشه و با نزدیک شدن به هر جسمی که تگ مورد نظر رو داره آن رو پیدا میکنه

من توی اسکریت چندتا کلمه آلمانی به کار بردند این ربطی به سی شارپ نداره

 public  GameObject  LeiterDach = null ;
 

 
   public  void Update()
    {    
       //Das nächstgelegene LeiterDach
       
             LeiterDach  = null;
            GameObject[] Objects = GameObject.FindGameObjectsWithTag("LeiterDach");
            foreach (GameObject obj in Objects)
            {
                if (LeiterDach == null)
                { LeiterDach = obj; }
                if (Vector3.Distance(transform.position, obj.transform.position) <= Vector3.Distance(transform.position, LeiterDach.transform.position))
                { LeiterDach = obj; }
            } return ;

    }

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی