DCSIMG
Unity Destroy an Object - Μαθήματα για C# - Προγραμματισμός - StudentGuru

Unity Destroy an Object

Καλησπέρα! 

Έχω ένα game object στη Unity το οποιο δημιουργείται random στους εξης χρόνους 

public float minSpawnTime = 0.75f;
public float maxSpawnTime = 2f;

Πώς θα μπορέσω να το κάνω destroy στους ίδιους χρόνους αλλά και επίσης να μην εμφανίζονται στο ίδιο position που ειναι ο player (ένα άλλο game obj) εκείνη τη στιγμή;

4 Replies

  • 1. Το δημιουργείς με Instantiate; Αν ναι, τότε έχει μία παράμετρο για το position, οπότε το βάζεις όπου θες εσύ 2. Η Destroy έχει και δεύτερη παράμετρο, τη χρονική στιγμή (μετά από πόσο) που θες να γίνει destroy το GameObject
  • In reply to Δημήτρης Γκανάτσιος:

    Ναι με instantiate, αυτη ειναι η μεθοδος 

    void SpawnAlien()

    {
    Camera camera = Camera.main;
    Vector3 cameraPos = camera.transform.position;
    float xMax = camera.aspect * camera.orthographicSize;
    float xRange = camera.aspect * camera.orthographicSize * 1.75f;
    float yMax = camera.orthographicSize - 0.5f;
    Vector3 alienPos = new Vector3(cameraPos.x + Random.Range(xMax - xRange, xMax), Random.Range(-yMax, yMax), alienPrefab.transform.position.z);
    Instantiate(alienPrefab, alienPos, Quaternion.identity);
    Invoke("SpawnAlien", Random.Range(minSpawnTime, maxSpawnTime));
    }

  • In reply to Panagiota Karetsou:

    OK, οπότε 1. πειράζεις την δεύτερη παράμετρο στην Instantiate και 2. παίρνεις το επιστρεφόμενο reference από αυτή και καλείς Destroy με time parameter σε αυτό ;)
  • In reply to Δημήτρης Γκανάτσιος:

    Τέλεια! Ευχαριστώ πολύ! :)
Related