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
Günlerdir Çözemediğim İllet sorun :(
#1
Bir öğreticiden ders alıp mobil oyun oluşturuyorum ancak her şeyi tıpatıp kodlamama rağmen karşılaştığım sorun var ve çözemiyorum.
Umarım yardım edebilirsiniz şimdiden teşekkürler.

Komut listem
Kod:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class UI_Inventory : MonoBehaviour
{

   private Inventory inventory;
   private Transform itemSlotContainer;
   private Transform itemSlotTemplate;

   private void Awake()
   {
       itemSlotContainer = transform.Find("itemSlotContainer");
       itemSlotTemplate = itemSlotContainer.Find("itemSlotTemplate");
   }

   public void SetInventory(Inventory inventory)
   {
       this.inventory = inventory;

       inventory.OnItemListChanged += Inventory_OnItemListChanged;
       RefreshInventoryItems();
   }

   private void Inventory_OnItemListChanged(object sender, System.EventArgs e)
   {
       RefreshInventoryItems();
   }

   private void RefreshInventoryItems()
   {
       foreach (Transform child in itemSlotContainer)
       {
           if (child == itemSlotTemplate) continue;
           Destroy(child.gameObject);
       }

       int x = 0;
       int y = 0;
       float itemSlotCellSize = 98f;
       foreach (Item item in inventory.GetItemList())
       {
           RectTransform itemSlotRectTransform = Instantiate(itemSlotTemplate, itemSlotContainer).GetComponent<RectTransform>();
           itemSlotRectTransform.gameObject.SetActive(true);

           itemSlotRectTransform.anchoredPosition = new Vector2(x * itemSlotCellSize, y * itemSlotCellSize);
           Image image = itemSlotRectTransform.Find("image").GetComponent<Image>();
           image.sprite = item.GetSprite();

           x++;
           if (x > 4)
           {
               x = 0;
               y++;
           }

       }
   }

}


Hata Satırı:
Kod:
foreach (Transform child in itemSlotContainer)

Hata: ArgumentException: The Object you want to instantiate is null.
  Cevapla
#2
itemSlotContainer'ın içinde "itemSlotTemplate" diye bir obje var mı? Hata o gibi gözüküyor
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.!
resim
  Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Sad Karakter Kontrolde ray çizmesinde sorun var redlinetr 2 411 22-03-2020, Saat: 15:29
Son Yorum: redlinetr
Question Unity VideoPlayer eski android sürümlerindeki sorun deliktekitavsan 1 773 07-10-2018, Saat: 13:46
Son Yorum: mtat0640
  Unity Sorun Carbon902 3 1,601 20-12-2017, Saat: 15:42
Son Yorum: Carbon902
  UNİTY 3D ÖNEMLİ SORUN Alper2142 1 1,169 28-09-2017, Saat: 12:52
Son Yorum: TheTudors

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi