Frage zu meinem Script

Diskutiere und helfe bei Frage zu meinem Script im Bereich Allgemeines im Windows Info bei einer Lösung; Hey, ich habe ein Problem mit meinem Script für Unity. Unzwar würde ich gern mit dem SceneManager prüfen lassen, ob man in einem Level ist, also if... Dieses Thema im Forum "Allgemeines" wurde erstellt von ProDKiwi, 8. Oktober 2017.

  1. ProDKiwi
    ProDKiwi Gast

    Frage zu meinem Script


    Hey, ich habe ein Problem mit meinem Script für Unity.

    Unzwar würde ich gern mit dem SceneManager prüfen lassen, ob man in einem Level ist, also

    if (SceneManager......) und bei den Punkten weiß ich nicht, was ich eingeben muss. Außerdem würde ich gern den Operator == benutzen.

    Würde mich über schnelle Hilfe freuen. Hier mein Script(Die ganzen Anmerkungen könnt ihr missachten):


    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine.SceneManagement;
    using UnityEngine;


    public class HealthController : MonoBehaviour {

    public float startHealth = 5; //Anfangslebensanzahl: 5
    public int startLifePoints = 3; //Anfangsanzahl an LifePoints
    private float health = 5; //Lebenszustand: 5
    private int lifePoints = 3; //Lebenspunkte: 3 (int, weil es eh nur Ganzzahlen sind)

    private Animator anim; //Referenz auf den Animator
    private PlayerController playerController;//Referenz auf den PlayerController
    private bool isDead = false; //der Boolparameter isDead is deaktiviert(man ist nicht tot)
    private bool isDamageable = true;

    void Start () {
    anim = GetComponent<Animator>(); //Referenz auf Animator einstellen
    playerController = GetComponent<PlayerController>(); //Referenz auf PlayerController einstellen

    //wenn es eine Begrüssungsscene gibt, muss das Level, in dem man die Startwerte bekommt, entsprechend angepasst werden
    if (SceneManager.) //wenn man im Level 0 ist bekommt man die Startwerte zugewiesen
    { //(das steht hier zwar nicht, aber) in den anderen Leveln bekommt man die Werte zugewisen, die man beim Beenden der letzten Scene hatte
    health = startHealth;
    lifePoints = startLifePoints;
    }

    health = PlayerPrefs.GetFloat("Health"); //gespeicherten Healthwert in der nächsten Scene wieder aufrufen
    lifePoints = PlayerPrefs.GetInt("LifePoints"); //gespeicherte LifePoints-Anzahl in der nächsten Scene wieder aufrufen
    }

    void ApplyDamage(float damage) //floatwert (Schadenswert) wird übergeben
    {
    if (isDamageable) //wenn Damage erlaubt ist.....
    {

    health -= damage; //Schaden wird von healthwert abgezogen

    health = Mathf.Max(0, health); //wenn health kleiner als 0 ist wird 0 gewählt, dass der Gesundheitswert nicht negativ werden kann

    if (!isDead) //wenn man nicht(!) tot ist
    {
    if (health == 0) //wenn die Lebensanzahl 0 ist soll die Dying Animation abgespielt werden
    {
    isDead = true;
    Dying();
    }
    else //ansonsten soll die Damageanimation abgespielt werden
    {
    Damaging();
    }

    isDamageable = false;
    Invoke("ResetIsDamageable", 1);
    }
    }
    }

    void ResetIsDamageable()
    {
    isDamageable = true;
    }

    void Dying()
    {
    anim.SetBool("Dying", true); //bool, weil der Parameter der Dyingainamtion ein Boolparameter ist, false wird durch true ersetzt
    playerController.enabled = false; //der PlayerController wird auf false gesetzt, dass man solange man tot ist man sich nicbt weiterbewegen kann

    lifePoints --; //1 Lifepoint wired abgezogen

    if (lifePoints <= 0) //wenn die Lifepoints kleiner als 0 sind.....
    {
    //StartGame //soll das Spiel neugestartet werden
    Invoke("StartGame", 3); //Spiel nach 3 Sekunden neustarten
    }
    else
    {
    //RestartLevel //andernfalls soll das Level neugestartet werden
    Invoke("RestartLevel", 1); //Level nach einer Sekunde neustarten
    }

    }

    void StartGame()
    {
    SceneManager.LoadScene(0);
    }

    void RestartLevel()
    {
    health = startHealth; //Lebensanzahl wird auf Anfangslebensanzahl zurückgesetzt
    isDead = false;
    anim.SetBool("Dying", false); //Boolparameter Dying wieder auf false setzen(um nicht mehr tot zu sein)
    playerController.enabled = true; //den PlayerController wieder aktivieren, um sich wieder bewegen zu können

    if (!playerController.lookingRight) //WICHTIG: ! bedeuted Verneinung
    { //in dem Fall --> wenn der Spieler NICHT (!) nach rechts guckt....
    playerController.Flip(); //.... soll die Blickrichtung geflipt werden, sodass er nach rechts guckt
    }
    //Level neu generieren und Spieler zurücksetzen

    }

    void Damaging()
    {
    anim.SetTrigger("Damage");
    }

    private void OnDestroy() //wird aufgerufen wenn ein Script zerstört wird, was hier nur pasiert wenn eine Scene gewechselt wird
    {
    PlayerPrefs.SetFloat("Health", health); //Healthwert wird (für nächste Scene) gespeichert
    PlayerPrefs.SetInt("Lifepoints", lifePoints); //LifePoints-Anzahl wird (für nächste Scene) gespeichert
    }
    }
     
  2. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Frage zu meinem Script - Allgemeines

Die Seite wird geladen...

Frage zu meinem Script - Similar Threads - Frage Script

Forum Datum

Frage Thunderbird weil ja Microsoft meint mich alle 2 tage zu Nerven zu müssen, wegen...

Frage Thunderbird weil ja Microsoft meint mich alle 2 tage zu Nerven zu müssen, wegen...: Es geht nur das neuste Konto von mir nichtwo ich angemeldet bin die 2 älteren laufen.Hab darum wider ThunderBird Installiert 140Umgestellt im KontoMS Authentifikation installiert Android.Im Konto...
Outlook.com Mittwoch um 13:12 Uhr

Leeres Popup bei der Frage, ob Änderungen gesichert werden soll. Outlook 2016 classic

Leeres Popup bei der Frage, ob Änderungen gesichert werden soll. Outlook 2016 classic: Wenn ich Outlook-Elemente in der Detailanzeige ändere und dann mit voriges/nächstes Element Strg-, und Strg-. zum nächsten Element wechsle kommt ein Popup mit der Frage, ob ich die Änderung...
Outlook.com Dienstag um 18:52 Uhr

Frage zu Backups

Frage zu Backups: Ich habe seit Jahren einen Desktop-PC und habe mir gerade einen Laptop für die Schule zugelegt. Beim Einrichten werde ich gefragt, ob ich meinen PC zum Speichern oder als neuen PC einrichten...
Games und Spiele Sonntag um 19:52 Uhr

Fragen zu non Profit Office

Fragen zu non Profit Office: Hallo an alle.Als Kassenwart eines kleinen, gemeinnützigen, eingetragen Dartvereins habe ich gesehen, dass es eine non-Profit Office gibt. Dies wäre für uns 4 Vorstandsmitglieder perfekt. Nun zur...
Microsoft Office Sonntag um 14:22 Uhr

Frage zu Backups

Frage zu Backups: Ich habe seit Jahren einen Desktop-PC und habe mir gerade einen Laptop für die Schule zugelegt. Beim Einrichten werde ich gefragt, ob ich meinen PC zum Speichern oder als neuen PC einrichten...
Apps Sonntag um 11:35 Uhr

emails per Handy abrufen funktioniert, auf dem PC Outlook plötzlich nicht mehr - Frage...

emails per Handy abrufen funktioniert, auf dem PC Outlook plötzlich nicht mehr - Frage...: Liebe Freunde, wer kann mir helfen? Dank und Grußemails per Handy abrufen dunktioniert, auf dem PC Outlook plötzlich nicht mehr - Frage Umstellung von Pop3 auf IMAP? Was kann ich tun....
Outlook.com 27. Juni 2025

Bei der Einbettung in Powerpoint sind die Fragen nicht in voller Länge zu lesen. Auch sind...

Bei der Einbettung in Powerpoint sind die Fragen nicht in voller Länge zu lesen. Auch sind...: Hier ist ein Bild des Problems.
Microsoft Office 26. Juni 2025
Frage zu meinem Script solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.