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

Einige Fragen zu Office-Produkten

Einige Fragen zu Office-Produkten: Hallo, ich möchte fragen, was der Unterschied zwischen Microsoft 365 und Office 2024 Produkten ist? Ich bin daran interessiert, sie jetzt zu verwenden, aber ich weiß nicht, welche zu wählen,...
Microsoft Office Mittwoch um 15:22 Uhr

Frage zu einer Fehlermeldung in Excel

Frage zu einer Fehlermeldung in Excel: Guten Tag liebes Forum, ich habe seit einigen Tagen ein Problem mit einer Fehlermeldung, sobald ich Excel öffne. Die Fehlermeldung ist auf dem Bildanhang dargestellt. Ich habe bereits einiges...
Microsoft Office Mittwoch um 14:02 Uhr

Ich habe weitere Fragen zum Fall <Fallnummer gelöscht>

Ich habe weitere Fragen zum Fall <Fallnummer gelöscht>: Ich kann mein Microsoft Office 2021 Home and Business für Mac nicht mehr nutzen . Meldung: zum bearbeiten und speichern ist ein Abonnement erforderlich
Microsoft Office 2. Dezember 2024

Ich habe weitere Fragen zum Fall 7059226772

Ich habe weitere Fragen zum Fall 7059226772: Ich kann mein Microsoft Office 2021 Home and Business für Mac nicht mehr nutzen . Meldung: zum bearbeiten und speichern ist ein Abonnement erforderlich .........
Microsoft Office 2. Dezember 2024

Excel Frage: Kreisdiagramm verschieben an die zweite Stelle der Arbeitsmappe ? Wo und wie...

Excel Frage: Kreisdiagramm verschieben an die zweite Stelle der Arbeitsmappe ? Wo und wie...: Excel Frage: Kreisdiagramm verschieben an die zweite Stelle der Arbeitsmappe ? Wo und wie mache ich das überhaupt ?
Microsoft Office 30. November 2024

Apps im geteilten Familienkonto fragen plötzlich nach Anmeldung bzw. Product-Key

Apps im geteilten Familienkonto fragen plötzlich nach Anmeldung bzw. Product-Key: Meine Tochter benutzt ein von mir geteiltes Familienkonto. Dies hat 2 Jahre lang funktioniert. Nun fragt das System plötzlich nach der Anmeldung bzw. einem Product-Key?In der Kontoverwaltung sehe...
Microsoft Office 27. November 2024

Meine 2. Frage heute : Nach besagtem Crash fehlt auch die unten stehende Option

Meine 2. Frage heute : Nach besagtem Crash fehlt auch die unten stehende Option: Hallo ! In "senden an " im Kontextmenue fehlt die Option " an desktop senden " seit kürzlichem PC Crash . Nochmals Danke im Voraus für Hilfe . Grüße Petost
Games und Spiele 17. November 2024
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.