unity sterben?
hey kann mr jeemand einen code sagen wie man es hinnbekommt zu sterben wenn man auf ein Objekt trifft ?
also wenn man wasser berührt = tot
in 2D/C#
vielen Dank
3 Antworten
Wie auch immer du dir den Rest vorgestellt hast, aber folgendes Skript könnte zumindest ein Ansatz sein.(Oder ein DeadlyWater-Skript mit Player-Tag-Test ?)
Player2D.cs Tags: Water und Enemy
using UnityEngine;
[RequireComponent(typeof(Rigidbody2D))]
[RequireComponent(typeof(BoxCollider2D))]
public class Player2D : MonoBehaviour
{
[Tooltip("Gesundheit des Spielers") ][Range(1, 200)]public byte Health = 100 ;
[Tooltip("Schaden pro Feindkontakt")][Range(1, 200)]public byte Damage = 10 ;
[Tooltip("Direktzerstörung mit Tod")] public bool Eliminate = true;
private void Start () { Debug.Log("Lebensenergie:" + Health); }
private void OnCollisionEnter2D (Collision2D obj)
{
if(obj.transform.tag=="Water")
{ Debug.Log("Spieler ist ertrunken!");
if(Eliminate) Destroy(gameObject);//Oder nur Gesundheit auf 0 setzen ?
else {Health = 0; Debug.Log("SPIELER IST TOT!");
}//Was nun ? Auf Wiederbelebung warten ?
}
else
if (obj.transform.tag == "Enemy")
{ Debug.Log("Schaden erlitten!");
if ( Health<= Damage) {
if(Eliminate) Destroy(gameObject);//Oder nur Gesundheit auf 0 ?
else {Health = 0; Debug.Log("SPIELER IST TOT!");
}//Was nun ? Auf Wiederbelebung warten ?
}//>
else Health-=Damage; Debug.Log("Lebensenergie:" + Health);
}
}
}
Mit Intersect prüfen ob sich 2 Shapes berühren, leider kenn ich mich in Unity nicht so aus aber das Stichwort in verbindung mit C# und Unity sollte helfen.
Sonst Prüfst du bei einem einfachen 2D Game die X und Y Koordinate des Spielers und des Hindernis und dann Bumm wenn es kracht.
Es gibt eine einfachere Lösung(2D), wo du aber kaein leben hast. falls du mit C# proggrammierst hier der code:
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex );
Damit wird die aktuelle scene neu geladen ideal wenn es z.B in einem 2D spiel Zacken oder andere hindernisse gibt