Tesla Geschrieben 16. Mai 2019 Teilen Geschrieben 16. Mai 2019 Auf einer von verschiedenen Loks befahrenen Strecke möchte ich gerne, daß die Loks wie im echten Leben auch mit verschiedenen Geschwindigkeiten fahren (eine E 103 ist nun mal schneller als eine kleine BR 89). Nun war mein Gedanke, die "Marschgeschwindigkeit" in einer Objektvariablen einer jeden einzelnen Lok zu definieren, also z.B. Vmarsch =50 für BR89 und Vmarsch=160 für E 103 (als Objektvariable). Über $_Trigger1._Name erhalte ich den Loknamen, wenn zB die Lok ein Gleis betritt und sichere ihn in der Variablen $A. Mein definiertes Ereignis ist: - Lok verläßt ein Gleis - Geschwindigkeit setzen $A - Geschwindigkeit: $A.Vmarsch Doch was macht die Lok: sie bleibt stehen... klar, irgendetwas ist falsch! Aber was? Wie muß ich das Problem angehen? Gruß, Michael Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Andy Geschrieben 16. Mai 2019 Teilen Geschrieben 16. Mai 2019 Die Idee ist eigentlich richtig. Schau mal, wenn A gesetzt sein sollte, ob der Lokname wirklich da drin steht (in der Variablenliste - Zugang über EV, rechts unten). Vielleicht ist da doch noch irgendein Tippfehler, denn wenn er hier falsch zugreift, wird er den Wert 0 setzen. (Und der Kalauer muß sein: der Tippfehler muß ja nicht gleich Vimarsch sein...) Gruß Andy Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
metallix Geschrieben 16. Mai 2019 Teilen Geschrieben 16. Mai 2019 vor 2 Stunden schrieb m.weber: Auf einer von verschiedenen Loks befahrenen Strecke möchte ich gerne, daß die Loks wie im echten Leben auch mit verschiedenen Geschwindigkeiten fahren (eine E 103 ist nun mal schneller als eine kleine BR 89). Nun war mein Gedanke, die "Marschgeschwindigkeit" in einer Objektvariablen einer jeden einzelnen Lok zu definieren, also z.B. Vmarsch =50 für BR89 und Vmarsch=160 für E 103 (als Objektvariable). Über $_Trigger1._Name erhalte ich den Loknamen, wenn zB die Lok ein Gleis betritt und sichere ihn in der Variablen $A. Mein definiertes Ereignis ist: - Lok verläßt ein Gleis - Geschwindigkeit setzen $A - Geschwindigkeit: $A.Vmarsch Doch was macht die Lok: sie bleibt stehen... klar, irgendetwas ist falsch! Aber was? Wie muß ich das Problem angehen? Gruß, Michael Hi Michael Probiers mal mit $(A).Vmarsch Cheers Tom Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tesla Geschrieben 16. Mai 2019 Autor Teilen Geschrieben 16. Mai 2019 Hallo Tom, danke und super, so funktioniert es. Mit den Klammern hatte ich ja auch schon experimentiert, aber diese Variante hatte ich nicht probiert. Gruß, Michael Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
metallix Geschrieben 16. Mai 2019 Teilen Geschrieben 16. Mai 2019 vor 5 Minuten schrieb m.weber: .... aber diese Variante hatte ich nicht probiert. Gruß, Michael Hi Michael Was du Variante nennst ist abba die vorgeschriebene Syntax fuer verschachtelte variablen. Guckst Du hier unter "6. Variablen" Cheers Tom Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tesla Geschrieben 16. Mai 2019 Autor Teilen Geschrieben 16. Mai 2019 vor 15 Minuten schrieb metallix: Was du Variante nennst ist abba die vorgeschriebene Syntax fuer verschachtelte variablen. (Var).Geschwindigkeit ...und genau diese Zeile habe ich trotz Brille übersehen" Gruß, Michael Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Andy Geschrieben 16. Mai 2019 Teilen Geschrieben 16. Mai 2019 Hallo ihr beiden, ich habe jetzt soviel mit Objektvariablen gemacht, dass ich gar nicht mehr dran gedacht habe, dass man die Globalen auch klammern muß. Danke Tom. Es geht auch ($A).Vmarsch. Das ist syntaktisch ein wenig zweifelhaft, aber naja. Neo hat angekündigt, dass sich die Schreibweise des indirekten Zugriffs mit V5 sowieso ändern wird und mit () ist das einer. An der Wirkungsweise dürfte sich nichts ändern. Dürfte dann also schnell anpassbar sein, muß dann aber wohl gemacht werden.. Gruß Andy Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
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