setzte ich diesen Code in dem Löschen Skript auf, zunächst einmal:Wie kann ich mein Gelände selbst löschen?
var terrain = GetComponent(Rigidbody2D);
function Update()
{
if (terrain.position.x <= Camera.main.transform.position.x - 5)
{
Destroy(this.GameObject);
}
}
Hier ist ein Bild des Bildschirms:
Und meine Fertig Sachen:
Was ich will, ist für, wenn die Kamera vor dem Prefab ist, will ich es um sich selbst zu löschen. Dies ist jedoch der Fehler erhalte ich:
NullReferenceException: Object reference not set to an instance of an object
UnityEngine.Component.GetComponent (System.Type type)
Deletion..ctor() (at Assets/Scripts/Deletion.js:3)
UnityEngine.Object:Instantiate(Object, Vector3, Quaternion)
Repeating Terrain:SpawnTerrain(Object) (at Assets/Scripts/Repeating Terrain.js:60)
Repeating Terrain:Update() (at Assets/Scripts/Repeating Terrain.js:52)
Dies hat nicht funktioniert. Ich habe das gemacht, aber es wird immer noch nicht gelöscht. Denken Sie daran, dass der Fehler bedeutet, dass Unity nicht einmal weiß, welches Gelände ist, was seltsam ist, weil es mit Get Component – Number1son100
Interessant zugewiesen ist. Versuchen Sie, Terrain = GetComponent (Rigidbody2D) zu setzen; im void Start {} und mache eine Variable namens public Rigidbody2D terrain; – Mikes3ds