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

2. Versuch gleiche Frage: Hilfe mit OneDrive!!!!!

2. Versuch gleiche Frage: Hilfe mit OneDrive!!!!!: Hallo, ich muss leider die gleiche Frage noch einmal einstellen, die ich schon einmal hatte, weil ich keine weiteren Beiträge mehr einstellen konnte. Mein Problem ist leider noch immer nicht...
Microsoft Office Heute um 11:22 Uhr

Es ist mir nicht bekannt wie ich mit dieser Seite umgehen soll aber die Frage hatte ich...

Es ist mir nicht bekannt wie ich mit dieser Seite umgehen soll aber die Frage hatte ich...: Es geht um ein Spiel Anno1701AD welches auf einmal nicht mehr gespielt werden kann, und da komme ich nicht auf die Ursache / das Problem. Deshalb habe ich bei Euch den Text geschrieben.Das war...
Apps Heute um 03:43 Uhr

Es ist mir nicht bekannt wie ich mit dieser Seite umgehen soll aber die Frage hatte ich...

Es ist mir nicht bekannt wie ich mit dieser Seite umgehen soll aber die Frage hatte ich...: Es geht um ein Spiel Anno1701AD welches auf einmal nicht mehr gespielt werden kann, und da komme ich nicht auf die Ursache / das Problem. Deshalb habe ich bei Euch den Text geschrieben.Das war...
Games und Spiele Heute um 03:43 Uhr

Folgende Frage, muss man unbedingt Microsoft Office 2021 Professional Plus 64 Bit LTSC...

Folgende Frage, muss man unbedingt Microsoft Office 2021 Professional Plus 64 Bit LTSC...: Folgende Frage, muss man unbedingt Microsoft Office 2021 Professional Plus 64 Bit LTSC deinstallieren um Microsoft Visio 2021 Professional 64 Bit und Microsoft Project 2021 Professional 64 Bit...
Microsoft Office Donnerstag um 01:22 Uhr

Umzugsfirma Berlin: Ihre Fragen beantwortet

Umzugsfirma Berlin: Ihre Fragen beantwortet: Welche Arten von Umzügen bietet eine Umzugsfirma in Berlin an und wie unterscheiden sie sich hinsichtlich des Serviceangebots und der Kosten?
Umfragen 17. März 2024

Frage zu Windows Media Player

Frage zu Windows Media Player: Ich habe folgende Frage zum Windows Media Player WMP: Von einer Musik-CD, die verschiedene Interpreten und Titel enthält kopiere ich einen Titel in den WMP. Danach ändere ich die Informationen...
Apps 16. März 2024

Frage zu Windows Media Player

Frage zu Windows Media Player: Ich habe folgende Frage zum Windows Media Player WMP: Von einer Musik-CD, die verschiedene Interpreten und Titel enthält kopiere ich einen Titel in den WMP. Danach ändere ich die Informationen...
Games und Spiele 16. März 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.