2016-12-13 4 views
0

Also arbeite ich an einem Spiel mit Einheit mit C# und ich versuche, einen Klon zu machen, dann lösche es. Der Code, den ich gepostet habe, entpuppt den Spieler neu und hat Funken, wenn er respawnt. Dies macht einen Klon der Funken. Ich habe Probleme, die Funken zu löschen. Ich erhalte die Fehlermeldung:Typ kann nicht konvertiert werden C#

nicht Typ unityengine.transform unityengine.gameobject über umwandeln kann .....

so muss ich wissen, was mit meinem Code falsch ist und warum es Dies tun.

so hier ist der gesamte Code

using UnityEngine; 
using System.Collections; 

public class GameMaster : MonoBehaviour { 

public static GameMaster gm; 

void Start() { 
    if (gm == null) { 
     gm = GameObject.FindGameObjectWithTag ("GM").GetComponent<GameMaster>(); 
    } 
} 

public Transform playerPrefab; 
public Transform spawnPoint; 
public float spawnDelay = 2; 
public Transform spawnPrefab; 

public IEnumerator RespawnPlayer() { 
    //audio.Play(); 
    yield return new WaitForSeconds (spawnDelay); 

    Instantiate (playerPrefab, spawnPoint.position, spawnPoint.rotation); 
    GameObject clone = Instantiate (spawnPrefab, spawnPoint.position, spawnPoint.rotation) as GameObject; 
    Destroy (clone, 3f); 
} 

public static void KillPlayer (Player player) { 
    Destroy (player.gameObject); 
    gm.StartCoroutine (gm.RespawnPlayer()); 
} 

} 

und hier ist die Linie, auf dem es vermasselt

GameObject clone = Instantiate (spawnPrefab, spawnPoint.position, spawnPoint.rotation) as GameObject; 

Antwort

3

Sie erhalten den Fehler, da Ihr Fertig als Transform erklärt wird, wenn Sie public Transform spawnPrefab; tat . Sie instanziieren es als Transform anstelle von GameObject.

es zu beheben, einfach

ändern
public Transform spawnPrefab; 

zu

public GameObject spawnPrefab; 
1

Es ist ok als transform zu instanziiert, es ist nur zerstören gameObject in Ihrer zerstören Linie:

Transform clone = Instantiate(spawnPrefab, spawnPoint.position, spawnPoint.rotation) as Transform; 
Destroy(clone.gameObject, 3f); 
Verwandte Themen