Jump to content
Unity Insider Forum
  • Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011

peachplayer

Members
  • Content count

    82
  • Joined

  • Last visited

  • Days Won

    1

peachplayer last won the day on October 31 2016

peachplayer had the most liked content!

Community Reputation

3 Neutral

About peachplayer

  • Rank
    Advanced Member

Recent Profile Visitors

1,030 profile views
  1. im Script gespeicherte Werte werden nicht angezeigt

    ...Au weia... habe gemerkt dass im Inspector andere Werte eingetragen waren! Gruss Peachplayer
  2. using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; public class Anzeige1 : MonoBehaviour { List<HighscoreEintrag> liste; public InputField NummerEingabe; public InputField ParzellennameEingabe; public InputField FlächeEingabe; public InputField KulturEingabe; public Text NummerAnzeige, ParzellennameAnzeige, FlächeAnzeige, KulturAnzeige, KassenbestandAnzeige, ÖkobilanzAnzeige; public Toggle anzeigeSchalter; public Rect windowRect0 = new Rect(600, 20, 120, 50); public string[] Flurname = new string[5] { "Fahlrüti1", "Studenacker1", "Suchern1", "Wille2", "Zuchern" }; public float[] Area = new float[5] { 219, 155, 185, 88, 77 }; public string[] Kulturen = new string[5] { "Winterweizen", "Mais", "Wintergerste", "Wintergerste", "Wintergerste" }; public int k; void Start() { liste = new List<HighscoreEintrag>(); ListeFuellen(); } void ListeFuellen() { for (int i = 0; i < 10; i++) { if (PlayerPrefs.HasKey("Parzellenname_p" + i)) { int Nummer = PlayerPrefs.GetInt("Nummer_p" + i); string Parzellenname = PlayerPrefs.GetString("Parzellenname_p" + i); string Kultur = PlayerPrefs.GetString("Kultur_p" + i); float Fläche = PlayerPrefs.GetFloat("Fläche_p" + i); HighscoreEintrag eintrag = new HighscoreEintrag(Nummer, Parzellenname, Fläche, Kultur); liste.Add(eintrag); } else break; } ListeAnzeigen(); } void ListeAnzeigen() { string NummerAusgabe = ""; string ParzellennameAusgabe = ""; string FlächeAusgabe = ""; string KulturAusgabe = ""; string NAusgabe = ""; string PAusgabe = ""; string KAusgabe = ""; string MgAusgabe = ""; for (int i = 0; i < liste.Count && i < 10; i++) { NummerAusgabe += liste[i].GetNummer() + "\n"; ParzellennameAusgabe += liste[i].GetParzellenname() + "\n"; FlächeAusgabe += liste[i].GetFläche() + "\n"; KulturAusgabe += liste[i].GetKultur() + "\n"; if (liste[i].GetKultur() == "Winterweizen") Debug.Log("Winterweizen"); PlayerPrefs.SetFloat("Ertrag_ww" + i, 7000.0f); if (liste[i].GetKultur() == "Wintergerste") PlayerPrefs.SetFloat("Ertrag_wg" + i, 5000.0f); Debug.Log("Wintergerste"); if (liste[i].GetKultur() == "Mais") PlayerPrefs.SetFloat("Ertrag_m" + i, 10000.0f); Debug.Log("Mais"); //NAusgabe += liste[i].GetN() + "\n"; //PAusgabe += liste[i].GetP() + "\n"; //KAusgabe += liste[i].GetK() + "\n"; //MgAusgabe += liste[i].GetMg() + "\n"; } NummerAnzeige.text = NummerAusgabe; ParzellennameAnzeige.text = ParzellennameAusgabe; FlächeAnzeige.text = FlächeAusgabe; KulturAnzeige.text = KulturAusgabe; KassenbestandAnzeige.text = PlayerPrefs.GetFloat("Kassenbestand").ToString(); ÖkobilanzAnzeige.text = PlayerPrefs.GetFloat("Ökobilanz").ToString(); //NAnzeige.text = NAusgabe; //PAnzeige.text = PAusgabe; //KAnzeige.text = KAusgabe; //MgAnzeige.text = MgAusgabe; } public void NeuerEintragHinzu() { HighscoreEintrag neuerEintrag = ZufallsEintrag(); k++; bool eingefuegt = false; for (int i = 0; i < liste.Count; i++) { if (!liste[i].GroesserAls(neuerEintrag.GetNummer())) { liste.Insert(i, neuerEintrag); eingefuegt = true; break; } } if (!eingefuegt) liste.Add(neuerEintrag); ListeAnzeigen(); ListeSpeichern(); } HighscoreEintrag ZufallsEintrag() { int Nummer = int.Parse(NummerEingabe.text); string Parzellenname = ParzellennameEingabe.text; float Fläche = float.Parse(FlächeEingabe.text); string Kultur = KulturEingabe.text; string eingabe = ParzellennameEingabe.text; if (Nummer == 0 && eingabe == "" && Fläche == 0 && Kultur == "" && k<=4) { Nummer = k; Parzellenname = Flurname[k]; Fläche = Area[k]; Kultur = Kulturen[k]; HighscoreEintrag neuerEintrag1 = new HighscoreEintrag(Nummer, Parzellenname, Fläche, Kultur); return neuerEintrag1; } if (eingabe != "") { if (eingabe.Length >= 20) eingabe = eingabe.Substring(0, 20); Parzellenname = eingabe; } HighscoreEintrag neuerEintrag = new HighscoreEintrag(Nummer, Parzellenname, Fläche, Kultur); return neuerEintrag; } void ListeSpeichern() { for (int i = 0; i < liste.Count && i < 10; i++) { PlayerPrefs.SetInt("Nummer_p" + i, liste[i].GetNummer()); PlayerPrefs.SetString("Parzellenname_p" + i, liste[i].GetParzellenname()); PlayerPrefs.SetFloat("Fläche_p" + i, liste[i].GetFläche()); PlayerPrefs.SetString("Kultur_p" + i, liste[i].GetKultur()); } } public void AllesLoeschen() { NummerAnzeige.text = ""; ParzellennameAnzeige.text = ""; FlächeAnzeige.text = ""; KulturAnzeige.text = ""; liste.Clear(); PlayerPrefs.DeleteAll(); } void OnGUI() { if (PlayerPrefs.GetFloat("Kassenbestand") >= 100000) windowRect0 = GUI.Window(0, windowRect0, DoMyWindow, "Spiel gewonnen!"); //GUILayout.Label("Spiel gewonnen!"); if (PlayerPrefs.GetFloat("Kassenbestand") <= -50000) windowRect0 = GUI.Window(0, windowRect0, DoMyWindow,"Spiel verloren!"); //GUILayout.Label("Spiel verloren!"); if (PlayerPrefs.GetFloat("Ökobilanz") <= -1000) windowRect0 = GUI.Window(0, windowRect0, DoMyWindow, "Spiel verloren!"); //GUILayout.Label("Spiel verloren!"); //if (gameRunning) //{ // GUILayout.Label("Aktuelle Runde: " + currentRound); // GUILayout.Label("Aktueller Spieler: " + currentPlayer); // GUILayout.Label("Aktueller Spielzug: " + currentBall); //} else //{ // GUILayout.Label("Spiel starten mit linker Maustaste."); //} if (GUI.Button(new Rect(10, 10, 200, 50), "Parzellendaten eingeben")) Application.LoadLevel(0); if (GUI.Button(new Rect(10, 100, 200, 50), "Dünger eingeben")) Application.LoadLevel(1); if (GUI.Button(new Rect(10, 150, 200, 50), "Pflanzenschutzmittel eingeben")) Application.LoadLevel(2); if (GUI.Button(new Rect(10, 200, 200, 50), "Feldarbeiten eingeben")) Application.LoadLevel(3); if (GUI.Button(new Rect(10, 250, 200, 50), "Kosten anzeigen")) Application.LoadLevel(4); if (GUI.Button(new Rect(10, 300, 200, 50), "DB anzeigen")) Application.LoadLevel(5); if (GUI.Button(new Rect(10, 350, 200, 50), "Nährstoffbilanz anzeigen")) Application.LoadLevel(6); if (GUI.Button(new Rect(10, 400, 200, 50), "Spiel neu starten")) PlayerPrefs.DeleteAll(); } void DoMyWindow(int windowID) { } public void AnzeigeSchalterGeklickt() { if (anzeigeSchalter.isOn) ListeAnzeigen(); else { NummerAnzeige.text = ""; ParzellennameAnzeige.text = ""; FlächeAnzeige.text = ""; KulturAnzeige.text = ""; } } public void Animation_anzeigen() { Application.LoadLevel(9); } } Hallo Leute Versuche mit obigem Code vordefienierte Werte für die Variable "Area[ ]" anzuzeigen bei der Tasteneingabe "0". Leider funktioniert das nicht und es werden nur bereits in den Player-Prefs gespeicherte Werte angezeigt. Woran könnte das liegen? Bin dankbar für Antworten! Gruss Peachplayer
  3. umfangreiche Daten abspeichern

    Hallo Leute Weiss jemand, wie man mit Unity umfangreiche Daten abspeichern kann? Die Player-Prefs eignen sich dafür wohl eher nicht, oder? Gibt es ein geeignetes Asset dafür? Gruss Peachplayer
  4. Hallo Leute Weiss jemand wie man eine SQLlite-Datenbank in eine Datenbank mit der Extension .bytes konvertieren kann? Gruss Peachplayer
  5. Hallo Leute Weiss jemand wie man eine SQLlite-Datenbank in eine Datenbank mit der Extension .bytes konvertieren kann? Gruss Peachplayer
  6. Excel Tabellen in Unity importieren

    Habe einen passenden Parser im Asset-Store gefunden! Jetzt ist aber das Problem wie man grössere Datenmengen nach dem Parsen der csv-dateien weiterverarbeiten kann. Das gestaltet sich wohl ziemlich schwierig, da man ja keine Tabellen wie in Excel zu Verfügung hat. Gruss Peachplayer
  7. Excel Tabellen in Unity importieren

    Gibt es nicht andere Möglichkeiten um grössere Datenmengen von Excel nach Unity zu kopieren? Z.B. mit eigenen Klassen? Das Problem ist aber dann wie mann die Daten abspeichert. Mit den "Player-Prefs" geht das wohl nicht. Wohl eher ein .JSON-file? Gruss Peachplayer
  8. Hallo Leute Weiss jemand, wie man Excel-Tabellen in Unity importieren kann? Habe noch kein geeignetes Asset dafür gefunden! Gruss Peachplayer
  9. Highscore-System mit 2 Spielern und 10 Runden

    Danke für die Antwort. Für die Simulation der Runden verwende ich folgenden Ansatz: void Update() { if (Input.GetMouseButtonDown(0)) { OnLevelComplete(); counter++; if (counter % 2 == 0) { spieler1 = true; if (counter > 0) levelComplete = true; } else { spieler2 = true; } Weiss jemand wie man die Runden sonst simulieren könnte? Gruss Peachplayer
  10. Highscore-System mit 2 Spielern und 10 Runden

    Hallo Danke für die Antwort. Habe im Internet ein Code-Beispiel gefunden für einen Highscore: using UnityEngine; using System.Collections; public class HighScore: MonoBehaviour { public bool levelComplete; public string highscorePos; public int score; public int temp; void Start () { score=0; } void OnLevelComplete () { levelComplete=true; score=10000; //values from your scoring logic for(int i=1; i<=5; i++) //for top 5 highscores { if(PlayerPrefs.GetInt("highscorePos"+i)<score) //if cuurent score is in top 5 { temp=PlayerPrefs.GetInt("highscorePos"+i); //store the old highscore in temp varible to shift it down PlayerPrefs.SetInt("highscorePos"+i,score); //store the currentscore to highscores if(i<5) //do this for shifting scores down { int j=i+1; PlayerPrefs.SetInt("highscorePos"+j,temp); } } } } void OnGUI() { if(levelComplete) { for(int i=1; i<=5; i++) { GUI.Box(new Rect(100, 75*i, 150, 50), "Pos "+i+". "+PlayerPrefs.GetInt("highscorePos"+i)); } } } } Wenn ich das Spiel starte kommt bei den "Top 5"-Highscores nur Nullwerte heraus. Woran liegt das wohl?
  11. Funktion von anderem Skript aufrufen

    Danke für die Antwort! Leider kommt bei mir folgende Fehlermeldung: Assets/SelectionManager/Scripts/SelectionManager.cs(65,40): error CS0122: `Anzeige.ListeAnzeigen()' is inaccessible due to its protection level Gibt es andere Möglichkeiten? Gruss Peachplayer
  12. Hallo Leute Weiss jemand, wie man ein Highscore-System mit 2 Spielern und 10 Runden erstellt für ein Bowling-Spiel? Jeder Spieler soll pro Runde 2 Kugeln werfen können. Danke im voraus! Gruss Peachplayer
  13. Funktion von anderem Skript aufrufen

    Hallo Leute Weiss jemand, ob es in Unity möglich ist eine Funktion von einem anderen Skript aufzurufen? Wenn ja mit welchem C#-Code? Gruss Peachplayer
  14. dreieck zeichnen

    Habe es wie folgt probiert: void Update() { if (Input.GetMouseButtonDown(1)) { GameObject prefabKapsel = GameObject.CreatePrimitive(PrimitiveType.Capsule); prefabKapsel.AddComponent<Rigidbody>(); prefabKapsel.transform.position = new Vector3(-4.3f, 0.8f, 2f); List<Vector2> points = new List<Vector2>(); points.Add(new Vector2(top.position.x, top.position.y)); points.Add(new Vector2(points[0].x - edgeLength, points[0].y - edgeLength)); points.Add(new Vector2(points[0].x + edgeLength, points[0].y - edgeLength)); List<Vector2> pointsIterStep = Iterate(points); //pointsIterStep = Iterate(pointsIterStep); CreateObjects(pointsIterStep); points.Add(new Vector2(top.position.x, top.position.y)); foreach (Vector2 point in points) { Instantiate(prefabKapsel, new Vector3(point.x, 0.8f, point.y), Quaternion.identity); } } } Gruss Peachplayer
  15. dreieck zeichnen

    Danke für die Antwort, das hat jetzt prima geklappt! Nun habe ich noch ein Problem: Wie kann man das Skript ergänzen, so dass immer neue dreiecke erstellt werden können nachdem alle dreiecke verschwunden sind, wenn diese mit einem GameObject kollidiert sind? Gruss Peachplayer
×