Jump to content

Recommended Posts

Posted

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

 

Posted

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

Posted
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

Posted

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

Posted
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

Posted

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...