Jump to content
Unity Insider Forum

Strooja0108

Members
  • Content Count

    27
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Strooja0108

  • Rank
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Cool danke.Ja genau zurzeit sind meine Waypoints alles GameObjects. Wo finde ich denn so einen Pathfinding Algorithmus?
  2. Jepp das mach ich leider gerade so. Die Verbindung besteht nur in Arrays.Zum Beispiel das Object bei WP1 hat ein patharray welches so lautet[WP5,WP3,WP2,WP1].Wenn die Figur zum Beispiel bei WP8 steht überprüfe ich welcher Punkt vom Hauptpfad(5,3,2,1) am nächsten ist. Dann schicke ich die Figur erst zum diesem Punkt hin und gucke dann an welcher stelle des patharray sich die Figur gerade befindet und lasse sie dann die restlichen Punkte ablaufen.Seeeehr umständlich alles ^^
  3. Hi Leute, ich bins mal wieder. Heute habe ich eine frage zum erstellen von pfaden für meinen Character. Anbei seht ihr ein Bild das ungefähr dasrstellt was ich habe . Die roten Punkte sind Waypoints zu dem der Character gehen darf.Er soll nicht abkürzen sondern darf nur über die Waypoints zu anderen punkten kommen.Zum Beispiel wenn er auf Waypoint 1 steht und zu 7 läuft muss er Punkt 2,3 und 5 passieren. Das ganze soll wie bei einem Point and Click funktionieren halt nur das er festgelegte Wege im Raum laufen darf .In diesem Fall sind die Waypoints 1,4,6,7,8 Objekte auf die man draufklicken kann und sobald man das getan hat soll der Character von seiner aktuellen Position dorthin laufen. Hat irgendjemand eine gute Idee um sowas smart zu lösen. Ich habe zurzeit dieLösung das ich für jedes Objekt wo er hinlaufen kann eine Art pfad gebaut habe .Sobald man ein Objekt anklickt wird überprüft auf welchem Waypoint sich der Character befindet und and welcher Stelle sich dieser Waypoint auf dem pfad zu dem Objekt befindet. Danach werden die Waypoints die nach dem aktuellen kommen einfach nur abgelaufen. DAs ist ne menge code und für jedes neue Object wirkt es unübersichtlicher obwohl ich schon einige Methoden dafür benutze. Ich wäre über jede Hilfe dankbar
  4. hab mich vielleicht falsch ausgedruckt.Nein der button gibt garnichts mit er startet nur eine methode. Welches event getriggerd wird, wird von einer variable eines anderen script übergeben. Wenn du das nicht so meinst dann kapier ichs nicht ganz ^^.Könntest du dein beispiel vielleicht nochmal erklären. Jepp mit dem Delay hast du absolut recht hab es jetzt in einer der methoden gestartet und das funktioniert wunderbar.
  5. puhhh okay .Also verstehe ich das richtig.Die idee ist,dass ich die buttons so lasse wie sie sind und jeder der buttons eine eigene methode aufruft. Um festzustellen welches event getriggerd wurde gebe ich eine variable dem event mit und überprüfe in der button methode um welches event es sich handelt richtig? Witzig die idee hatte ich auch schon dachte aber es geht bestimmt smarter . Aber das ist das was du meinst richtig??? Zu dem Delay: Anstatt dann eine ja und nein methode zu erstellen kann ich auch eine IEnumerator "methode" erstellen und die benutzen,damit ich das delay benutzen kann? Und zusätzlich natürlich StartCoroutine(Test()); in die Start methode.
  6. hey danke für die fixe antwort.Jepp wie ich geschrieben hatte war meinte idee auch das ich ja und nein in unterschiedliche methoden packe um das schonmal übersichtlicher zu machen.wenn ich dich richtig verstehe soll ich in der ja und nein methode dann weitere methoden benutzen um es übersichtlicher zu machen richtig?Das werde ich auf jeden fall versuchen, befürchte aber das ich nachher dann 30 methoden habe was auch nicht mehr super übersichtlich ist.Aber das ist erstmal nebensache denke ich.Denn ich habe noch immer nicht die Lösung gefunden wie ich erkenne zu welcher Konversation die Buttons gerade gehören.Sagen wir ich habe für den Ja und Nein button jeweils jetzt eine methode. Da ich aber immer die selben Buttons benutzen möchte jedoch unterschiedliche Sachen ausgeführt werden soll wenn ich "Ja" drücke , je nachdem welches Event gerade getriggerd wurde verstehe ich nicht wie ich das umsetzen soll. Ich dachte halt das die variable die der Ja button mitgibt verändert wird, je nachdem welches event gestartet wurde. Ich weiss aber nicht wie das geht. Hab jetzt nur was von dem onclick listener gehört mit dem man die variable verändern soll über umwege.Ist das die einzige möglichkeit? Es ist leider nicht damit getan die strings oder variablen mitzugeben oder so.Ich habe oben nur ein Beispiel aufgezeigt aber je nach Event passieren wirklich komplett unterschiedliche Sachen wenn man auf den Ja Button klickt.
  7. uh mensch ist da kompliziert. Ich verstehe schon irgendwie was du meinst aber scheinbar fehlt mir das know how um es anders umzusetzen. Du hast auf jeden fall eine gute idee das ich die tageszeit einfach in der "ja antwort" methode abfrage,dann kann ich das übergeben von variablen vergessen. Das Problem ist das es bei diesen drei Fragen zu dem essen gehen nicht bleibt. Zurzeit habe ich die Idee das ich ein "Event" script erstelle wo zum beispiel diese 3 events mit dem essen drin sind,aber auch noch andere die unabhängig vom essen sind. Auf jedes dieser event kann man nur mit ja und nein antworten und bei jedem hat dann ja und nein etwas anderes zur folge. Deswegen funktioniert deine lösung wunderbar für die essens events aber bei den anderen befürchte ich wird das nichts.Hier einmal mein script was ich bis jetzt habe. Die methode "mothereat" wird zurzeit von meinem time script aufgerufen zu bestimmten zeiten und übergibt dann die variable. Man erkennt das problem das ich ganz unten nicht wirklich unterscheiden kann ob der "ja" button bei der breakfast frage oder der lunch frage gedrückt wurde. Das würde ich halt gerne lösen und zudem den delay einbauen können. public void mothereat(int mealtime) { mothermessagelabel.SetActive(true); switch (mealtime) { case 1: mothermessage.GetComponent<Text>().text = "Hey do you come down for breakfast?"; break; case 2: mothermessage.GetComponent<Text>().text = "Hey do you come down for lunch?"; break; case 3: mothermessage.GetComponent<Text>().text = "Hey do you come down for dinner?"; break; } //hier hätte ich zum beispiel gern ein delay playermessagelabel.SetActive(true); btnplayeranswerno.SetActive(true); btnplayeransweryes.SetActive(true); } //diese methode soll von den buttons aufgerufen werden.Wobei ich ja jetzt soweit bin das in zwei methoden zu teilen für jeden button eine.(hier ist es noch eine methode) public void mothereatAnswer(int answer) if (answer==0) { //hier auch ein delay playermessage.GetComponent<Text>().text = "Yes I come down for breakfast"; //hier wird noch mehr passieren als nur den text anzeigen } else if(answer==1) { //hier auch ein delay playermessage.GetComponent<Text>().text = "No, thank you"; //hier wird auch noch mehr passieren als nur den text anzeigen } }
  8. okay dann probier ich das vielleicht mal mit einer klasse. Aber dann für jeden der beiden knöpfe eine eigene methode aufrufen und eine variable mitschicken um zu erkennen um welche konversation es sich handelt richtg?Dieses benutzen der selben buttons für unterschiedliche konversationen ist mein Problem. Kannst du mir den Befehl sagen wie ich den übergangsparameter eines onclick button events von einem andere script aus verändern kann(oder die methode die aufgerufen wird vom onclick event)? in meinem beispiel soll am morgen der "ja" button die zahl 1 übergeben,mittags dann 3 und abends 5 . So das ich dann in der aufgerufenden methode mit dieser variable unterscheiden kann um welche konversation es sich handelt.
  9. ah ok du meinst also den ganzen Dialog in einem array speichern und dann aufrufen. Ich denke so viel muss es garnicht sein.Sind halt immer nur die gleichen zwei Personen und wenige Zeilen.Ist allerdings das gleiche Problem wie schon in einen meiner alten Threads. Ich habe mehrere Konversations Szenarien auf die man immer nur mit Ja oder Nein antworten kann. Dafür möchte ich natürlich immer die selben Buttons benutzen. Wie gebe ich jetzt zum einen den Button weiter (zurzeit ja einfach mit einer variable entweder 1 oder 0) Aber wie gebe ich ausserdem eine Variable weiter um zu wissen um welche Konversation es sich handelt. Du hast oben in deinem Beispiel 2 Übergabevariablen .Ist es möglich das man eine durch den Button onclick mitgibt und die andere von einem anderen Script gesetzt und übergeben wird. Ich möchte zum Beispiel folgendes machen. Das die Mutter einen zum essen ruft zu bestimmten Uhrzeiten(Morgens,Mittags,Abends).Je nachdem soll natürlich ein anderer Satz angezeigt werden. Man soll darauf immer per Button nur mit Ja oder Nein antworten können. Nach dem Button klick sollen je nach Button und je nach Uhrzeit unterschiedliche Antworten in einem Textfeld ausgegeben werden. Ist das mit den 2 ÜBergabevariablen eine valide Idee oder geht das smarter?
  10. Hi devandart vielen dank für deine Hilfe.Ich habe das yield return scheinbar vergessen weshalb ich diese Fehler bekam. Sehe ich es richtig das ich für ein simplen Delay jedes mal eine neue Methode erstellen muss(ich weiss nicht, ob dass das richtige Wort bei einem IEnumerator ist.)?In meinem Beispiel habe ich 2 Buttons jeder Button soll eine andere onversation starten. Die einzelnen Texte möchte ich halt durch kleine Delays ein wenig angenehmer lesbar machen. Ich wollte aber bei beiden Buttons die selbe Methode aufrufen und per mitgegebener variable entscheiden welche conversation gestartet wird. Z.B so: public void motherAnswer(int answer) { if (answer==0) { blabla.text=Hallo delay blabla.text=wie gehts; } if (answer==1) { blabla.text=Moin delay blabla.text=na du; } } könntest du mir erklären wie und ob das möglich ist ohne das ich dafür eine IEnumerator Methode aufrufen muss,oder ob es möglich ist die in meinem Beispiel einzuarbeiten? Das ist nur ein Beispiel, am Ende werde ich deutlich mehr Buttons haben weshalb es sehr angenehm wäre wenn ich das zu wenigen Methoden zusammenfassen kann,wie in meinem Beispiel.
  11. Hi Leute, ich würde gerne dafür sorgen das ein Text sich nach einer Sekunde ändert.Also ein delay erstellen. Ich habe gelesen dafür ist IEnumerator am besten.Allerdings funktioniert das nicht bei mir.Muss man dafür noch etwas bestimmtes hinzufügen? Als Beispiel habe ich das hier erstellt: IEnumerator test() { } Er meckert über das Wort test. Und als Hilfe sagt er mir " "test" durch Eigenschaft ersetzen." Weiss jemand was ich falsch mache oder was mir fehlt? PS: Ich was das für die volle funktionsweise noch mehr benötigt wird aber hier bekomme ich immer den Fehler.
  12. Danke schoen. Ja ich werde auf jeden Fall mal schauen wie man das sonst noch besser loesen kann.
  13. hey danke fuer deine Antwort. Das ist exakt das was ich tue. Ich rufe bei jedem Button zurzeit eine Methode auf und in dieser wird als erstes ueberpueft um welche Items es geht die gerade angezeigt werden sollen.Diese information gebe ich den gruenen buttons mit einer variable mit. Auf den vorher und nachher button ueberpruefe ich zum beispiel dann welches object als naechstes in der liste steht und ob man genug geld dafuer hat .Je nachdem wird der "buy button" enabled or disabled. Ich hatte in meinem anderen thread nur verstanden,dass das nicht die beste art waere. Weil die 3 methoden natuerlich schon recht voll sind.
  14. Ah okay mit dem Schwert selbst meinst du also das Scriptable Objekt richtig? Das mit dem Array war nur nen Beispiel da ich ja nur ne liste aus einsen und nullen verwendet haben um zu identifizieren ob ein schwert freigeschaltet ist oder nicht. Darf ich natürlich nicht die reihenfolge der schwerter ändern da sonst ein andere schwert plötzlich freigeschaltet ist. DA ich es ja bis jetzt anhand des index miteinander verbunden habe. mh ja stimmt ich könnte nur ein dictionary verwenden .Aber ich finde es angenehmer wenn ich nicht überprüfe ob das schwert drin steht sondern einfach alle schwerter schon drin sind und ich gucke ob die passende variable auf eins ist. So kann ich es auch einfach testen meiner Meinung nach.
×
×
  • Create New...