void OnTriggerEnter2D(Collider2D coll) { if (coll.gameObject.name.Equals("Spieler")) { Debug.Log("Hit"); Destroy(gameObject); target.EnergieAnzeige(-1); AudioSource.PlayClipAtPoint(kollisionRotAudio, transform.position); } }
void OnTriggerEnter2D(Collider2D coll) { if (coll.gameObject.tag == "Gefahr" || coll.gameObject.tag == "Gefahr1" || coll.gameObject.tag == "Gefahr2" || coll.gameObject.tag == "Gefahr3") { Instantiate(explosionRot, transform.position, Quaternion.identity); AudioSource.PlayClipAtPoint(explosionRotAudio, transform.position); spielerKlasse.EnergieAnzeige(1); transform.position = new Vector3(-9.5f, 0, 0); // erzeugt neues Geschoss gameObject.SetActive(false); coll.gameObject.transform.position = new Vector3(Random.Range(9.5f, 19.0f), Random.Range(-4.7f, 4.75f), 0); // erzeugt neues von rechts kommendes Objekt gefahrGewinnKlasse.xAenderungBasis *= 1.01f; // erhoeht die Basis der zufaelligen Geschwindigkeitsaenderung um 1% } else if (coll.gameObject.tag == "Gewinn") { Instantiate(explosionGruen, transform.position, Quaternion.identity); AudioSource.PlayClipAtPoint(explosionGruenAudio, transform.position); spielerKlasse.EnergieAnzeige(-1); transform.position = new Vector3(-9.5f, 0, 0); // erzeugt neues Geschoss gameObject.SetActive(false); coll.gameObject.transform.position = new Vector3(Random.Range(9.5f, 19.0f), Random.Range(-4.7f, 4.75f), 0); // erzeugt neues von rechts kommendes Objekt gefahrGewinnKlasse.xAenderungBasis *= 1.01f; // erhoeht die Basis der zufaelligen Geschwindigkeitsaenderung um 1% } if (coll.gameObject.tag == "GrumpyGefahr") { Instantiate(explosionRot, transform.position, Quaternion.identity); AudioSource.PlayClipAtPoint(explosionRotAudio, transform.position); Instantiate(CoinEnemy, transform.position, Quaternion.identity); spielerKlasse.EnergieAnzeige(1); transform.position = new Vector3(-9.5f, 0, 0); // erzeugt neues Geschoss gameObject.SetActive(false); coll.gameObject.transform.position = new Vector3(Random.Range(59.5f, 69.0f), Random.Range(-4.7f, 4.75f), 0); // erzeugt neues von rechts kommendes Objekt grumpyGefahrKlasse.xAenderungBasis *= 1.01f; // erhoeht die Basis der zufaelligen Geschwindigkeitsaenderung um 1% } }
// Aus dem Startwert fuer xAenderung ergibt sich die Geschwindigkeit der ersten 4 Objekte von rechts kommend, // hier folgt die Realisierung der Bewegung. Die x-Position aendert sich jeweils um die xAenderung void Update() { transform.position = new Vector3(transform.position.x - xAenderung, transform.position.y, 0); // Falls ein Objekt den sichtbaren Bereich nach links verlassen hat, erscheint es als ein neues, schnelleres // Objekt von einer neuen Startposition if (transform.position.x < -9.5f) { transform.position = new Vector3(Random.Range(12.5f, 22.0f), Random.Range(-4.25f, 4.25f), 0); xAenderungBasis *= 1.01f; xAenderung = xAenderungBasis * Random.Range(0.7f, 1.3f); if (gameObject.tag == "Gefahr" || gameObject.tag == "Gefahr1" || gameObject.tag == "Gefahr2" || gameObject.tag == "Gefahr3") { spielerKlasse.EnergieAnzeige(-1); } } }