Jump to content
Unity Insider Forum

peachplayer

Members
  • Posts

    238
  • Joined

  • Last visited

  • Days Won

    2

peachplayer last won the day on January 26 2021

peachplayer had the most liked content!

Recent Profile Visitors

2,394 profile views

peachplayer's Achievements

Advanced Member

Advanced Member (3/3)

5

Reputation

  1. danke für die tipps, mit CultureInfo hats funktioniert!
  2. Hallo Leute Weiss jemand wie man ein Datum in die Form 01.01.2022 bringen kann? Habs wie folgt probiert: public string FormatTime(DateTime time) { time = Date_class.Datum; return string.Format("{00}.{00}.{0000}", time); } Als Resultat kommt aber folgendes heraus: 1/1/2022 12:00:00 AM Gruss peachplayer
  3. Hallo Leute, weiss jemand wie man ein responsiv GUI machen kann, so dass sich das GUI an die aktuelle Auflösung von unity anpassen kann? Geht das mit 'scale'? Gruss Peachplayer
  4. danke für den Tipp! Ja, mit der Coroutine klappts tiptop! Gruss, peachplayer
  5. danke für den Tipp, habe alle Methoden ausprobiert die in der Dokumentation angegeben sind, leider erfolglos.
  6. Hallo Leute Ich benutze das Asset dotween um einen Fade-out effekt für ein Image zu machen. Mit welcher Anweisung kann man abwarten bis der Effekt vorbei ist und dann den nächsten Befehl ausführen? Die Anweisung 't.onStepComplete()' funktioniert nicht. public void fadeout() { Tween t = dotweenLogo.DOFade(0, 4.5f).SetAutoKill(false).Play(); t.Play(); t.onStepComplete(); SceneManager.LoadScene("mainscene"); } Gruss Peachplayer
  7. Hallo Leute weiss jemand warum meine Inventar-liste beim Verkauf nicht reduziert wird? nur die Buttons in der ListBox(blau) werden entfernt, der rest bleibt immer gleich, resp. alle Maschinen werden nach einem Klick auf den Button 'verkaufen' auf einmal gelöscht. Siehe Bild! Ich verwende folgenden Code: public void RemoveSelected() { List<Inventory1> liste1 = MyXML.DeserializeFromXML<Inventory1>(".\\Maschinen.xml"); MaschinenAnzeige = ""; foreach (Inventory1 item1 in liste1) { MaschinenAnzeige += item1.Maschinennamen + item1.Menge + "\n"; } Debug.Log(MaschinenAnzeige); Maschinenanzeige.text = MaschinenAnzeige; Anzeige(); Transform t = content.transform.GetChild(selectedIndex); foreach (Inventory1 Inventory1Item in liste1) { if (FindIndex(t.gameObject) < -1 || FindIndex(t.gameObject) >= options.Count) return; else { // Remove UI component Destroy(t.gameObject); RemoveItem(Inventory1Item); options.RemoveAt(selectedIndex); Anzeige(); Debug.Log("selectedIndex = " + selectedIndex); } } } private int FindMaschinen_index(Inventory1 item) { int i = 0; foreach (Inventory1 Inventory1Item in liste1) { if (Inventory1Item.Maschinennamen == item.Maschinennamen) { return i; } i++; } return -1; } public void RemoveItem(Inventory1 item) { if (item.Menge > 0) { item.Menge--; Bargeld += item.Preis; } if (item.Menge == 0) { Bargeld += item.Preis; liste1.Remove(item); } }
  8. Hallo Leute Weiss jemand wie man 3-D-Objekte in einer Szene richtig 'justieren' kann, sodass nachher alle Objekte in die gleiche Richtung (um die y-Achse) drehen? Einige 3-dObjekte, z.B. die grüne Scheibenegge, drehen in die falsche Richtung. void Update() { foreach (GameObject joint in hingeJoints) { if (joint.name == "Ballenpresse" | joint.name == "Wagen" | joint.name == "Scheibenegge") joint.transform.Rotate((new Vector3(0, 0, 1) * rotationSpeed * Time.deltaTime)); else joint.transform.Rotate((new Vector3(0, 1, 0) * rotationSpeed * Time.deltaTime)); } }
  9. Hallo Leute Weiss jemand, wie man eine .xml-datei in einem spezifischem Ordner abspeichern kann? Gruss, peachplayer
  10. Hallo Leute Ich versuche mit folgender Funktion den Wert eines Dropdown events abzufragen: public void OnMyValueChanged(Dropdown dd) { if (Maschinen_index(dd.value) != "") Maschine_gekauft = true; else Maschine_gekauft = false; } private string Maschinen_index(int Nummer) { string Maschinen = ""; string Maschinen_vorhanden = ""; int i = 0; if (liste4.Count > 0) { foreach (Inventory1 item1 in liste4) { if (item1.Maschinennamen == Feldarbeiten2[Nummer]) { Maschinen = Feldarbeiten1[Nummer]; Maschinen_vorhanden = Maschinen; MaschinenAnzeige.text += Feldarbeiten2[Nummer] + " vorhanden!" + "\n"; } else MaschinenAnzeige.text = Feldarbeiten2[Nummer] + " ist nicht vorhanden...bitte zuerst Maschine kaufen!"; break; } } return Maschinen; } Leider kommt als return Wert immer nur das 0-te Element von liste4! Kann mir jemand helfen? Gruss, Peachplayer
  11. Hallo Leute Weiss jemand, wie man zufällige Ereignisse in Unity machen kann? Die Ereignisse sollten zufällig übers ganze Kalenderjahr verteilt sein. Habs wie folgt probiert: public class mytimer_class : MonoBehaviour { float cntdnw = 1.0f; public Text disvar; public Button startButton; public Button stoppButton; public DateTime dt, webString; public Text events; public string[] event_text = new string[3] { "Pilzkrankheit Weizen", "Unkraut in Mais", "Dürre" }; private void Awake() { if (Date_class.Datum.Year < 2021) { Date_class.Datum = new DateTime(2021, 01, 01); DateTime webString = dt; } dt = System.DateTime.Parse(PlayerPrefs.GetString("Stoppedtime")); webString = dt; Time.timeScale = 0.5f; } private void Start() { startButton = GameObject.Find("start_button").GetComponent<Button>(); stoppButton = GameObject.Find("stopp_button").GetComponent<Button>(); } public void Startbutton() { startButton.enabled = false; stoppButton.enabled = true; } public void Stoppbutton() { stoppButton.enabled = false; startButton.enabled = true; } public void events_handler() { if (Date_class.Datum.DayOfYear > 30) { int xcount = UnityEngine.Random.Range(0, 3); events.text = event_text[xcount]; } } void Update() { if ((startButton.enabled)) { Time.timeScale = 0.5f; cntdnw += Time.deltaTime; int xcount = UnityEngine.Random.Range(0, 3); double b = System.Math.Round(cntdnw, 2); dt = webString.AddDays(b); string dateTimeString = System.String.Format("{0:yyyy-MM-dd-hh}", dt); if ((Date_class.Datum.DayOfYear > 30) && (Date_class.Datum.Day >= 3)) { events.text = event_text[xcount]; } disvar.text = dateTimeString; } if (stoppButton.enabled) { Debug.Log("game stopped!" + dt); PlayerPrefs.SetString("Stoppedtime",dt.ToShortDateString()); Date_class.Datum = dt; } } } Gruss, peachplayer
  12. hallo Leute Weiss jemand wie man statische Variablen oder statische Klassen defienieren kann, die dann für mehre Szenen gültig sind. Habs mit statischen Variablen probiert, jedoch kann ich nachher von anderen Scripts nicht mehr darauf zugreifen. also z.B. Script1: public static DateTime Datum_neu; Script2: public class Date_class { DateTime Datum; } Script3: DatumEingabe.text = Date_class.Datum.ToString(); Gruss, peachplayer
  13. for (int i = 0; i < liste2.Count; i++) { liste2[i].Nummer = i; } Sorry, das müsste so aussehen für bestehende Listen. Gruss, peachplayer
  14. Hallo Leute Weiss jemand wie man einen "autoinkrement-Index" für eine bestimmte liste mit schon vorhandenen Daten generieren kann? Habs wie folgt probiert: public void AddNummer() { int index1 = dropdown1.value; string Datei_auswahl = dropdown1.options[index1].text; if (File.Exists(Datei_auswahl) && index1 == 0) { liste2 = MyXML.DeserializeFromXML<Feldarbeit>(Datei_auswahl); UnityEngine.Debug.Log(liste2.Count); liste2.Sort((ps1, ps2) => DateTime.Compare(ps1.Datum, ps2.Datum)); // nach Datum sortieren! Feldarbeit neuerEintrag = new Feldarbeit(); for (int i = 0; i < liste2.Count; i++) { liste2.Add(neuerEintrag = new Feldarbeit { Nummer = i, Parzellenname = liste2[i].Parzellenname, Feldarbeiten = liste2[i].Feldarbeiten, Fläche = liste2[i].Fläche, Kosten = liste2[i].Kosten, Datum = liste2[i].Datum }); } foreach (var item in liste2) { Console.WriteLine(item); } } Als Resultat kommt ein leeres .XML-file heraus! Danke für eine Antwort!
×
×
  • Create New...