2016-06-03 3 views
0

Also das ist der Code, den ich benutze, um die Pipe-Dinger zu generieren, aber nachdem er erzeugt es will ich es nach seinem Bildschirm oder eine andere mögliche Art zu zerstören, vielleicht nach 3 Sekunden oder irgendeine Möglichkeit möglich, und ich will diese Pfeife Dings, um zufällig in verschiedenen Größen zu generieren, bekommst du mich einfach wie Flappy Bird.Wie man Rohre unterschiedlicher Größe zerstört und zufällig erzeugt?

using UnityEngine; 
using System.Collections; 

public class Generate : MonoBehaviour { 

    public GameObject lightnest; 
    public float initialDelay; 
    public float finalDelay; 
    public float rampDuration; 

    protected float _delay; 
    protected float _runTime; 
    protected float _timeSinceSpawn; 
    // Use this for initialization 
    void Start() { 
     _delay = initialDelay; 
     _runTime = _timeSinceSpawn = 0.0f; 

    } 

    // Update is called once per frame 
    void Update() { 

     _runTime += Time.deltaTime; 
     _timeSinceSpawn += Time.deltaTime; 
     _delay = Mathf.Lerp(initialDelay, finalDelay, _timeSinceSpawn/rampDuration); 
     if (_timeSinceSpawn > _delay) Spawn(); 

    } 
    protected void Spawn() 
    { 
     _timeSinceSpawn = 0.0f; 
     Instantiate(lightnest); 
    } 


} 

Antwort

0

Verwenden Sie gameobject.transform.localScale, um die Größe beim Start zu ändern. Und verwenden Sie gameobject.transform.position, um zu überprüfen, ob das Objekt nicht auf dem Bildschirm angezeigt wird. Verwende Destroy (gameobject), um das Objekt zu zerstören.

https://docs.unity3d.com/ScriptReference/Transform.html

hoffe, das hilft!

+0

yaa das dachte ich auch, aber tun Sie es gibt einen anderen Weg –

0

Ich empfehle Ihnen, dies zu sehen tutorial.

Objektpooling ist der effizienteste Weg, um diese Art von Situation zu behandeln.

Verwandte Themen