Hey merhaba ziyaretçi bize destek olmak ister misin ? Hemen Kayıt Ol Seni hiç sıkmadan kayıt edeceğiz endişelenmek bize destek olduğun için teşekkürler.



  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Unity Kapı Açılması
#1
Ö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();
}
 
}
  Cevapla
#2
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.
  Cevapla
#3
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
  Cevapla
#4
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.
  Cevapla
#5
(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
  Cevapla
#6
(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.
  Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Photon ve Unity panimo 0 12 17-08-2019, Saat: 17:16
Son Yorum: panimo
Exclamation unity reklam çıkmama sorunu blackiron 3 115 09-08-2019, Saat: 10:21
Son Yorum: Eyelay
Exclamation unity reklam çıkmama sorunu blackiron 1 68 02-08-2019, Saat: 13:36
Son Yorum: karacanstudios
  Unity ParticleRenderer hatası kingcoder 0 73 12-07-2019, Saat: 12:56
Son Yorum: kingcoder
  Unity multiplayer sıralama Bedirhan 2 111 21-06-2019, Saat: 17:06
Son Yorum: Bedirhan

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi