Jump to content
Unity Insider Forum

DaBa123

Members
  • Posts

    15
  • Joined

  • Last visited

About DaBa123

  • Birthday July 20

Profile Information

  • Gender
    Male
  • Location
    Sachsen
  • Interests
    Programmieren(am liebsten mit Python3 ^^)

Recent Profile Visitors

187 profile views
  • Jog

DaBa123's Achievements

Member

Member (2/3)

0

Reputation

  1. Hallo, ich habe mal ein Tutorial von Unity gemacht, von dort habe ich das Script genommen. Nun möchte ich, dass die Anzahl der zerstörten Objekte gezählt wird. Dieses Script besitzt jedes GameObject, das abgeschossen werden darf. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ShootableBox : MonoBehaviour { public int currentHealth = 1; //public int points = 0; public void Damage(int damageAmount) { currentHealth -= damageAmount; if (currentHealth <= 0) { gameObject.SetActive (false); //points = points + 1; } } } Die Kommentare waren meine Überlegungen wie ich das angehen könnte. Ich habe ein Script erstellt, welches nur der Text enthält: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PointsTextController : MonoBehaviour { public Text text; public ShootableBox script; void Update() { text.text = points; } } Allerdings kann ich dem public script nur GameObjects zuweisen. Warum ist das so? Was habe ich falsch gemacht? Gibt es eine andere Möglichkeit?
  2. Hallo Christoph Ok, das wusste bzw. kenne ich auch nicht. Könntest Du mir vieleicht erklären, wie es funktioniert? Danke schonmal Daniel
  3. Moin, ich wollte eine Beschreibung für mein Spiel in 2 Sprachen erstellen, Deutsch und Englisch. Man kann die Sprachen auswählen und bei Englisch wird man auch zum Spiel weitergeleitet. Bei diesem Button in der deutschen Beschreibung funktioniert es allerdings nicht. Ich habe so gut wie den selben Code wie auch beim Englischem Start Button. Weiß jemand woran das liegen könnte? P.S.: Den einen Rechtschreibfehler im Text habe ich grad korrigiert
  4. Moin Michael, Danke für die Antwort. Vielen Dank, ich werde es morgen ausprobieren und schreibe Dir dann, ob es geklappt hat
  5. Hallo, ich habe folgenden Error erhalten, er entsteht, wenn ich mein Spiel starte, und dadurch, kann ich es nicht spielen: Screenshot 1 Der Code: Screenshot 2 Könnt ihr mir bei dem Problem helfen?
  6. Ups, die Nachricht gerade war ausversehen Achso alles klar, danke für die Tipps. Nein, ich bin zu dem Key hingegangen, und habe ihn berührt, so konnte ich ihn einsammeln. Die eigentliche Position liegt außerhalb der Map. Ja stimmt, daran könnte es liegen. Viele Grüße
  7. Hallo @malzbie Danke für deine ausführliche Erklärung. Da hast Du Recht, das Triggern ist nicht das Problem. Ich habe das Spiele programmieren mit einem Tutorial von einem YouTuber gelernt und da hat er das so gemacht. Ich nutze nicht VisualStudio, sondern VS Code, weil ich es vom programmieren zuhause(ich programmiere auch so gerne mal und das Spiele Entwickeln mache ich zur Abwechslung und weil ich Lust hatte). Ja, ich habe auf die Groß- und Kleinschreibung geachtet, aber ich verstehe den Gedanken. Ja, ich weiß das mit der Parent-Child Sache. Ok, das werde ich mal anschauen, weil der Player Prefab hat einen Rigidbody. Ja das tue ich. Zur Verständnis: Meinst Du mit halten der F Taste das gedrückt halten, oder drücken und loslassen? Weil ich drücke nur die F Taste und die Waffe wird eingesammelt. Okay, also ist die OnTriggerStay Funktion im Prinzip eine FixedUpdate Funktion? 1.Screenshot: Der Player mit dem Script. 2.Screenshot: Eine Waffe vor der Taste F 3.Screenshot: Die Waffe nach der Taste F 4.Screenshot: Der Key 5.Screenshot: Nachdem ich den Key aufgenommen habe(auf der entsprechenden Position ist nichts)
  8. @Jog 1. Ja, sonst würde ja die Funktion gar nicht funktionieren. Die Keys werden ja eingesammelt, die Waffen genauso. 2. Der Is Trigger Parameter muss doch nicht aktiviert sein, da es gameObjects mit MeshCollidern sind. Nur die Trigger für die Waffen haben den Parameter aktiviert. Viele Grüße Daniel
  9. Danke ich probier es. Es kann sein, dass es daran liegt, dass ich vergessen habe, das Float einzubauen.
  10. Sooo... 1. Nur der Player hat das entsprechende Skript, 2. Alle Tags sind korrekt, 3.Collider stimmen alle. Der Code wird ausgeführt, sonst würde der Wert ja in der UI nicht geändert werden. Ich habe probiert den Befehl Destroy.GameObject mal weg gemacht um zu gucken, ob überhaupt iwas verschoben wird an die Position. Nein. Ich habe überlegt, um den Player zu verschieben müsste man ja nicht das other.gameObject (Den key) verschieben, sondern den Player z.B. mit dem Tag Player. gameObject.tag == "Player" = transform.position = new Vector3(175, 0, -1300); Hab diesen Code ausprobiert, nein, hat nicht geklappt. Es ist ein Error rausgekommen.
  11. Ok vielen Dank. Ich werde es morgen ausprobieren. Ich melde mich, sobald es etwas neues gibt :)
  12. Danke für die Antwort. Der Fehler ist zwar weg, aber es macht nicht das, was es machen sollte(in meiner Vorstellung ^^). Ich wollte, dass der Player der den Key einsammelt zu der position verschoben wird, aber wie es aussieht, wird der Key, der bereits gelöscht ist, dahin verschoben. Wie kann ich das machen, dass der player dahin verschoben wird? Nein, das ist das einzige.
  13. Hallo Community, ich bin noch relativ neu bei Unity (ich arbeite ca seit Mitte Juli damit) und habe einen Fehler in meinem Code gehabt: 'Transform' does not contain a definition for 'positon' and no accessible extension method 'positon' accepting a first argument of type 'Transform' could be found (are you missing a using directive or an assembly reference?) Ich arbeite mit der Unity Version 2020.2. Hier das Skript: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class playercontroller : MonoBehaviour { public Text text; public Text textsniper; public Text textMp7; public int keycollect = 0; public bool weapon1_bool = false; public bool weapon2_bool = false; public bool weapon3_bool = false; public string weapon1 = "AKM"; public string weapon2 = "Sniper"; public string weapon3 = "MP7"; private void OnTriggerEnter(Collider other) { if(other.gameObject.tag == "Key") { Destroy(other.gameObject); keycollect = keycollect + 1; //die untere Zeile transform.position = new Vector3(175, 0, -1300); } if(other.gameObject.tag == "Waypoint") { Destroy(other.gameObject); } } private void OnTriggerStay(Collider other) { if(weapon1_bool == false) { if(other.gameObject.tag == "Trigger" && Input.GetKey(KeyCode.F)) { weapon1_bool = true; Debug.Log("OK"); text.text = weapon1; Destroy(other.gameObject); } } if(weapon2_bool == false) { if(other.gameObject.tag == "Trigger1" && Input.GetKey(KeyCode.F)) { weapon2_bool = true; Debug.Log("ok"); textsniper.text = weapon2; Destroy(other.gameObject); } if(other.gameObject.tag == "Trigger2" && Input.GetKey(KeyCode.F)) { weapon3_bool = true; Debug.Log("ok"); textMp7.text = weapon3; Destroy(other.gameObject); } } } void Start() { } // Update is called once per frame void Update() { } } Kann mir jemand helfen? Danke, Daniel
×
×
  • Create New...