Mobb Geschrieben 2. Dezember Geschrieben 2. Dezember Hallo, ich bin ganz neu und habe folgende Frage: Ich habe eine kleine Abstellanlage mit 3 Gleisen (51-53). Darauf stelle ich verschiedene Loks ab. Wenn ich am nächsten Tag das Programm wieder öffne, will ich wissen, welche Lok z.B. auf Gleis 51 steht, damit ich sie zum weiteren Verlauf bewegen kann. 1. Welche Lok steht auf dem Gleis? 2. Wenn ich sie starte, ist es besser vorwärts oder rückwärts, oder wie weiß ich in welche Richtung sie fahren will? Wenn ich einfach nur sage, setze die Geschwindigkeit auf 0, dann erhalte ich folgende Fehlermeldung: 'Attempt to index a nil value' - womit er ja Recht hat, denn ich habe keine Lok angegeben, da ich den Namen der Lok nicht kenne. Mit dem blauen Taster kann ich die Lok weiter fahren von einem Gleiskontakt zum anderen, aber alle weitere Optionen schmeissen die Fehlermeldung raus. Aussenrum baue ich mir eine repeat/until oder while Schleife, mit der ich die Loks auf Grund von einer Zufallsvariable abrufe, deshalb ist lua vermutlich die bessere Lösung. t01.mbp
RoniHB Geschrieben 2. Dezember Geschrieben 2. Dezember (bearbeitet) Hallo @Mobb, so ganz ist mir nicht klar, was du vorhast, aber hier mal ein paar Denkanstöße: vor 1 Stunde schrieb Mobb: will ich wissen, welche Lok z.B. auf Gleis 51 steht, damit ich sie zum weiteren Verlauf bewegen kann. starte einfach die Lok, die auf dem Gleis 51 steht. vor 1 Stunde schrieb Mobb: Wenn ich sie starte, ist es besser vorwärts oder rückwärts, oder wie weiß ich in welche Richtung sie fahren will? Setze die Geschwindigkeit relativ zur Fahrtrichtung. vor 1 Stunde schrieb Mobb: Aussenrum baue ich mir eine repeat/until oder while Schleife, mit der ich die Loks auf Grund eins nach dem anderen erstmal 1 und 2 lösen. vor 1 Stunde schrieb Mobb: deshalb ist lua vermutlich die bessere Lösung. Nein, das geht auch mit der grafischen EV. Du hast beim Gleiskontakt 53 2 Kontakte übereinander liegen. LG Ronald Bearbeitet 2. Dezember von RoniHB
Goetz Geschrieben 2. Dezember Geschrieben 2. Dezember Hallo Mobb, vor 2 Stunden schrieb Mobb: ich habe keine Lok angegeben, da ich den Namen der Lok nicht kenne. Du nicht, aber die EV kennt ihn. An jedem Ereignis, auf das du in der EV reagierst, ist jemand beteiligt. Wenn ein Fahrzeug einen Gleiskontakt betritt, dann gibt es in diesem Ereignis zwei beteiligte Objekte. Diese kannst du als "Auslöser" ansprechen: Wenn es wie in diesem Fall mehrere Auslöser gibt, dann findest du dort, wo jetzt [Leer] steht, eine Auswahlliste. Hier musst du den gewünschten Auslöser wählen. Im Beispiel wäre das dann "Fahrzeug". Viele Grüße Götz
Mobb Geschrieben 3. Dezember Autor Geschrieben 3. Dezember Hi RoniHB bei einer automatichen Steuerung nach dem Starten von 3d-mbs weiß ich ja nicht, welche Lok dort steht, denn ich will ja einen Automatik-Betrieb für diese Sache ablaufen lassen. Und falls ich mal eine andere Lok drauf stelle, soll sie automatisch erkannt werden und eben anders herum fahren. Jetzt probiere ich die ganze Zeit rum auch mit Fahrtrichtungswechsel und verschiedenen Ausgaben, aber die Fahrtrichtung wird nicht gewechselt. Übrigens: Goetz: Falls ich das Teil so angebe, wie beschrieben, erhalte ich folgende Fehlermeldung: 'Unknown method or property name drivingDirection' - funktioniert also auch nicht. Wa mache ich falsch? t01.mbp
Goetz Geschrieben 3. Dezember Geschrieben 3. Dezember vor 1 Minute schrieb Mobb: Wa mache ich falsch? Du hast nach "Auslöser" nicht in der Auswahlliste auf Fahrzeug umgeschaltet. Der Gleiskontakt hat keine Fahrtrichtung, sondern das Fahrzeug. Da beide Objekte Auslöser des Ereignisses "Fahrzeug betritt Gleiskontakt" sind, musst du spezifizieren, welches der Objekte du ansprechen willst.
Goetz Geschrieben 3. Dezember Geschrieben 3. Dezember (bearbeitet) Diese Beispielanlage hilft dir eventuell zum besseren Verständnis: Lok auf Kontakt ansprechen.mbp Viele Grüße Götz Bearbeitet 3. Dezember von Goetz Korrekturen
Mobb Geschrieben 5. Dezember Autor Geschrieben 5. Dezember @Goetz Ich habe noch einige Fragen, aber die ersten: Wie wird die Auswahl des Gleises in z.B. einem Textfeld angezeigt? Und was muss ich dazu alles machen? Und was ist der Unterschied zwischen einer Objekt- und Modul-Variable? Sind beide globale Variablen? Viele Grüße
Goetz Geschrieben 5. Dezember Geschrieben 5. Dezember vor 37 Minuten schrieb Mobb: Wie wird die Auswahl des Gleises in z.B. einem Textfeld angezeigt? Der Name des Gleises ist eine Eigenschaft des Objekts. Du kannst dem Textfeld dieses Objekteigenschaft als Inhalt zuweisen: vor 41 Minuten schrieb Mobb: Sind beide globale Variablen? Ja, beide sind global. Die Modulvariable legst du im Ereignismodul an, die Objektvariable in einem Objekt. Das macht nur organisatorisch einen Unterschied. Wenn Objekte sich individuelle Werte unter demselben Namen merken sollen, dann ist es praktischer diese Werte im Objekt mitzuführen. Geht es um allgemeine Werte, dann sind sie im Ereignismodul besser aufgehoben. Die Ordner in der linken Spalte des EV Fensters werden als Module bezeichnet. Viele Grüße Götz
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden