Unity 3D TR Forum

Orjinalini görmek için tıklayınız: Unity Kapı Açılması
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Öncelikle Merhabalar

Bir kitaptan yola çıkarak yeni yeni unity ile 2d oyun yapmaya başladı şuana kadar iyi gidiyordu aynı scprit dosyası üzerinden yazarak fakat kitapta farklı script dosyası açıp kodları öyle yazdırdı (C# kodları ve bunlarıda yeni yeni öğreniyorum) kodları aynen yazdım ama Hierarchy kısmında (Kapı) scprit bileşeni gelmedi nerede hata yaptım anlayamadım. yardımcı olurmusunuz.

Kapı Kodları :

Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Kapı : MonoBehaviour
{

   [SerializeField]
   private GameObject AnahtarVar;
   [SerializeField]
   private GameObject KapiAcik;

   void OnTriggerEnter2D(Collider2D other)

   {
       if (other.gameObject.tag == "Player" && AnahtarVar.activeSelf)
       {
           KapiAcik.SetActive(true);
           other.gameObject.SetActive(false);
       }
   }
}
Buda Player Kodlarım : 
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine;


public class Player : MonoBehaviour

  {

   private Rigidbody2D myRigidbody;
   private Animator myAnimator;
   private int skor;
   public Text toplamSkor;

   
   [SerializeField]

   private GameObject AnahtarVar;

   [SerializeField]
   private float hiz;
   private bool sagaBak;
   // Start is called before the first frame update
   void Start()
   {
       sagaBak = true;
       skor = 0;
       myRigidbody = GetComponent<Rigidbody2D>();
       myAnimator = GetComponent<Animator>();
   }

   // Update is called once per frame
   void Update()
   {
       float yatay = Input.GetAxis("Horizontal");

       TemelHareketler(yatay);

       YonCevir(yatay);
   }

   private void TemelHareketler(float yatay)
   {
       myRigidbody.velocity = new Vector2(yatay * hiz, myRigidbody.velocity.y);

       myAnimator.SetFloat("karakterHizi", Mathf.Abs(yatay));
   }

   private void YonCevir(float yatay)
   {

       if (yatay > 0 && !sagaBak || yatay < 0 && sagaBak)
       {
           sagaBak = !sagaBak;
           Vector3 yon = transform.localScale;
           yon.x *= -1;
           transform.localScale = yon;
       }
   }
   // Aşağıdaki kodlar tag oluşturduğumuz objeyi karakter değdiğinde kaybediyor
  void OnCollisionEnter2D(Collision2D other)
   {
       
     

       if (other.gameObject.tag == "Altin")
       {
           other.gameObject.SetActive(false);
           skor = skor + 100;
           SkorAyarla(skor);
       }
       if (other.gameObject.tag == "Anahtar")
       {
           other.gameObject.SetActive(false);
           // false= kaybet "arasındaki tag adı olacak"

           AnahtarVar.SetActive(true);
           //Anahtar Almayı Aktif Ettik.

       }
         }
   void SkorAyarla (int count)
{
       toplamSkor.text = count.ToString();
}
 
}
Hierarchy kısmında görünmez zaten. Hierarchy de bulunan bir nesneye component olarak eklemelisiniz. Project alanındaki script dosyanızı sürükle bırak ile ilgili nesneye ekleyin.
Dediğiniz gibi daha öncesinde de denemiştim program hata vermişti bugün tekrardan denedim ve Inspector kısmında nihayet scprit gözüktü anahtar var ve kapı açık resim/anim leri ilişkilendirdim ama hala kapımız açılmıyor karakter içeri girmiyor Sad

Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!


163yB1.png
Player ın tag i Player olarak ayarlandı mı? Değilse bu yüzden çalışmıyordur. Bir de player da rigidbody2d componenti var mı? Eğer yoksa triger olayı çalışmıyordur.
(05-03-2019, Saat: 21:31)mtat0640 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Player ın tag i Player olarak ayarlandı mı? Değilse bu yüzden çalışmıyordur. Bir de player da rigidbody2d componenti var mı? Eğer yoksa triger olayı çalışmıyordur.

Player'e Player tagı ayarlanmadığı için kapı player'i tanımlamıyormuş artık kapı açılıyor çok teşekkürler ufak hatalar gözden kaçıyormuş Smile
(05-03-2019, Saat: 22:06)Enesk001 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!
(05-03-2019, Saat: 21:31)mtat0640 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Player ın tag i Player olarak ayarlandı mı? Değilse bu yüzden çalışmıyordur. Bir de player da rigidbody2d componenti var mı? Eğer yoksa triger olayı çalışmıyordur.

Player'e Player tagı ayarlanmadığı için kapı player'i tanımlamıyormuş artık kapı açılıyor çok teşekkürler ufak hatalar gözden kaçıyormuş Smile

Rica ederim.
(05-03-2019, Saat: 22:06)Enesk001 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!
(05-03-2019, Saat: 21:31)mtat0640 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Player ın tag i Player olarak ayarlandı mı? Değilse bu yüzden çalışmıyordur. Bir de player da rigidbody2d componenti var mı? Eğer yoksa triger olayı çalışmıyordur.

Player'e Player tagı ayarlanmadığı için kapı player'i tanımlamıyormuş artık kapı açılıyor çok teşekkürler ufak hatalar gözden kaçıyormuş Smile

Hocam bende aynı sorunu yaşıyordum burda cevabını buldum ama kapı açılınca karakter hemen kayboluyor olması gereken bu değilmi direk içeri giriyor mantıken ve daha gözükmüyor karakter ?