2016-04-14 22 views
1

'dan sonra görüntülenmiyor Kolej modüllerimden biri için basit bir oyun yapıyorum. Sol fare tuşuyla tıkladığımda, görünmesi için bir boks eldivenine ihtiyacım var.Unity GameObjects, Instantiation

ben yaşıyorum sorun, eldiven hiyerarşisinde görünür oluşturulmuyorsa ancak ekranda göstermek kalmamasıdır, bkz görüntüleri

Görüntü 1:

enter image description here

Görüntü 2:

enter image description here

aşağıdaki Kodum gibidir:

public class script_CreateBoxingGlove : MonoBehaviour { 
    public GameObject BoxingGlove; 

    void Start() { 

    } 

    void Update() { 
     if (Input.GetMouseButtonDown (0)) { 
      var position = Input.mousePosition; 
      Instantiate (BoxingGlove, position, Quaternion.identity); 
     } 
    } 
} 

Herhangi bir yardım büyük takdir :)

+0

Böyle bir durumda, eldivenin tekrar tekrar açılmamasını öneririm, bunun yerine tekrar etkinleştirin ve devre dışı bırakın (ve eğer varsa, bir çocuğun çocuğu olsun). –

+1

sınıf script_CreateBoxingGlove'u çağırmamalısınız. işe yaramaz. CreateBoxingGlove olarak değiştirin ve dosya adını da değiştirdiğinizden emin olun. – Fattie

+1

Ve evet, probleminiz 'Input.mousePosition' ekran konumu, bir dünya konumu değil, çünkü konumdur. 'Camera.main.ScreenToWorldPoint (Input.mousePosition)' seçeneğini kullanın. –

cevap

1

Input.mousePosition (o here belgelenmiştir) değil, dünya koordinatlarında, fare ekrana üzerinde pozisyon olduğunu.

Bu yüzden, onu konum olarak kullanmadan önce dünya koordinatlarına dönüştürmelisiniz. örneğini ifadesi Bu dönüştürmek için "MainCamera" olarak etiketlenen hiyerarşisinde kamerayı kullanan bu

Vector2 position = Camera.main.ScreenToWorldPoint(Input.mousePosition); 
Instantiate (BoxingGlove, position, Quaternion.identity); 

gibi bir şey olmalıdır. Bu kodun çalışması için, hiyerarşinizdeki gibi etiketlenmiş bir kamera olduğundan emin olmalısınız.

+0

Çok teşekkür ederim, bu işe yaradı! –