• 10-08-2022, 23:42:27
    #1
    Arabayı park ettirip next level ekranı çıkartmak istiyorum. arabanın dört köşesine collider ekledim, park alanına da. colliderlerin 4'ü de çarpışınca gelmeli next level canvası. belki çok yanlış bir şekilde ilerlemiş olabilirim, ama çalışması gerekir diye düşünüyorum. bilenler nerede yanlış yaptığımı söyleyebilirse çok sevinirim.

    
    public bool OnBir, OnIki, ArkaBir, ArkaIki;
    
    
        private void OnTriggerStay(Collider other)
        {
    
    
            if (other.gameObject.name=="SagOn")
            {
                OnBir = true;
    
            }
    
            if (other.gameObject.name == "SolOn")
            {
                OnIki = true;
                        }
    
            if (other.gameObject.name == "SagArka")
            {
                ArkaBir = true;
            }
    
            if (other.gameObject.name == "SolArka")
            {
                ArkaIki = true;
            }
    
    
        }
    
        private void OnTriggerExit(Collider other)
        {
            if(other.gameObject.name == "SagOn")
            {
                OnBir = false;
            }
    
            if (other.gameObject.name == "SolOn")
            {
                OnIki = false;
            }
    
            if (other.gameObject.name == "SagArka")
            {
                ArkaBir = false;
            }
    
            if (other.gameObject.name == "SolArka")
            {
                ArkaIki = false;
            }
    
    
        }
    
        public void Say()
        {
            if (OnBir == true && OnIki == true && ArkaBir == true && ArkaIki == true)
            {
                SceneManager.LoadScene(1);
            }
        }
    
        private void Update()
        {
            Say();
            
        }
  • 10-08-2022, 23:49:38
    #2
    hocam bunu her yerde paylaştın he DC grubunda yoksan oraya gel sor
  • 11-08-2022, 12:26:58
    #3
    private void OnTriggerStay(Collider other)
        {
     
     
    Debug.Log(other.name);
    
            if (other.gameObject.name=="SagOn")
            {
                OnBir = true;
     
            }
     
            if (other.gameObject.name == "SolOn")
            {
                OnIki = true;
                        }
     
            if (other.gameObject.name == "SagArka")
            {
                ArkaBir = true;
            }
     
            if (other.gameObject.name == "SolArka")
            {
                ArkaIki = true;
            }
     
     
        }
    OnTriggerStay eventi içine Debug.Log(other.name); satırı ekleyip çarpışması devam eden collider isimlerini Consol ekranında görebilirsin. Ayrıca bool değişkenlerinin anlık değerlerini de aynı ekranda yazdırabilirsin. Böylece tüm bool değerlerinin aynı anda true olup olmadığını görürsün.
  • 11-08-2022, 13:09:08
    #4
    brainder adlı üyeden alıntı: mesajı görüntüle
    private void OnTriggerStay(Collider other)
        {
     
     
    Debug.Log(other.name);
    
            if (other.gameObject.name=="SagOn")
            {
                OnBir = true;
     
            }
     
            if (other.gameObject.name == "SolOn")
            {
                OnIki = true;
                        }
     
            if (other.gameObject.name == "SagArka")
            {
                ArkaBir = true;
            }
     
            if (other.gameObject.name == "SolArka")
            {
                ArkaIki = true;
            }
     
     
        }
    OnTriggerStay eventi içine Debug.Log(other.name); satırı ekleyip çarpışması devam eden collider isimlerini Consol ekranında görebilirsin. Ayrıca bool değişkenlerinin anlık değerlerini de aynı ekranda yazdırabilirsin. Böylece tüm bool değerlerinin aynı anda true olup olmadığını görürsün.

    Hocam peki bu şekilde park kontrolü bu şekilde mi yapılmalıydı yani bu yöntem doğru mu? Başka nasıl bir yöntemle kontrol edilebilirdi?
  • 11-08-2022, 14:25:02
    #5
    Bu konunun kesin şekli yoktur sanırım. Tamamen tasarımcıya bağlı bir konu, herkes kendince çözüm üretir.

    Park yerine aynı arabanın görünmeyen bir kopyasını koyup onun koordinat ve açı değerlerini karşılaştırabilirsin. Değerler birbirine yaklaştığında araç park etmiş sayılır. Şu an kalıma gelen bu.