2016-04-14 12 views
1

Ich mache ein einfaches Spiel für eines meiner College-Module. Wenn ich mit der linken Maustaste klicke, brauche ich einen Boxhandschuh.Unity GameObjects werden nach Instantiierung nicht gerendert

Das Problem, das ich bin, ist, dass die Handschuhe nicht machen werden, auf dem Bildschirm des erscheinen in der Hierarchie aber nicht zeigen, siehe Bilder

Bild 1:

enter image description here

Bild 2:

enter image description here

Mein Code ist wie folgt:

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); 
     } 
    } 
} 

Jede Hilfe wäre sehr dankbar :)

+0

In einem Fall wie diesem würde ich vorschlagen, den Handschuh nicht immer und immer wieder aktivieren zu aktivieren und deaktivieren Sie es stattdessen (und es muss ein Kind des Boxers sein, wenn es einen gibt). –

+1

Sie dürfen die Klasse script_CreateBoxingGlove nicht aufrufen. Es wird nicht funktionieren. ändern Sie es in CreateBoxingGlove und stellen Sie sicher, dass Sie den Dateinamen auch ändern – Fattie

+1

Und ja, Ihr Problem ist die Position, weil 'Input.mousePosition' a Bildschirmposition ist, nicht eine Weltposition. Verwende 'Camera.main.ScreenToWorldPoint (Input.mousePosition)'. –

Antwort

1

Input.mousePosition ist die Position auf dem Bildschirm der Maus, nicht in Weltkoordinaten (es ist here dokumentiert).

Also müssen Sie es in Weltkoordinaten konvertieren, bevor Sie es als Position verwenden. Die instantiate Erklärung sollte so etwas wie diese

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

Dies verwendet die Kamera in der Hierarchie sein, die als „MainCamera“ zu konvertieren markiert. Damit dieser Code funktioniert, müssen Sie sicherstellen, dass eine Kamera in Ihrer Hierarchie markiert ist.

+0

Vielen Dank, das hat funktioniert! –

Verwandte Themen