Jump to content

Recommended Posts

Posted

Hallo zusammen,

habe eine Frage zu Lua, wie muss ich die Zeile

local Ziel = $("SP-01-Ausfahrt")

abändern, wenn die Information hier (SP-01-Ausfahrt) in der Variable Ziel steht.

 

local Quelle = $("SB-Gleis-11")

local Ziel = $("SP-01-Ausfahrt")

Quelle.transformation.position = Ziel.transformation.position

Quelle.transformation.rotation = Ziel.transformation.rotation

 

Entschuldigt meine Unwissenheit was Lua angeht. Gruß Axel

 

Posted

Hallo @JimKnopf,

local Ziel = $("SP-01-Ausfahrt").variables.Ziel

-- alternativ

local Ziel = $("SP-01-Ausfahrt").variables["Ziel"]

die zweite Schreibweise bekommst du, wenn du die Variable in der grafischen EV eingibst und dann den <> Knopf zum Umwandeln benutzt.
Die Schreibweise mit dem Punkt als Trenner ist die vereinfachte Version, die Lua anbietet.
Die mit eckigen Klammern ist flexibler, weil sie auch Sonder- und Leerzeichen im Namen der Variablen gestattet.

Viele Grüße
Götz

Posted (edited)
vor 15 Minuten schrieb HaNNoveraNer:

Hmmm ...

Sein Objekt SP-01-Ausfahrt enthält eine Variable, welche die Adresse eines anderen Objekts enthält.
Damit er im Code nicht an jeder Stelle den langen Umweg zu diesem Objekt hinschreiben muss, überträgt er die Adresse im ersten Schritt an eine neue, lokale Variable mit Namen "Ziel".

Sehr empfehlenswert, weil es für gut lesbaren Code sorgt.

Warum er allerdings die Koordinaten des Ziels an die der Quelle überträgt und nicht umgekehrt, kann ich nicht erklären. Da scheinen mir Dinge (zumindest namentlich) durcheinander zu geraten.

Edited by Goetz
Schreibfehler korrigiert
Posted

Hallo Thomas,

der Name war unglücklich gewählt, die Variable hätte auch «Hierhin» heissen können. Aber Danke für deine Antwort.

Gruß Axel

Posted

Hallo nochmal,

Das Gleis mit dem Namen SB-Gleis-11 soll zu dem Ziel-Objekt SP-01-Ausfahrt springen. Da ich aber sechs Ausfahrten habe soll der Name des Ziel-Objekt in einer Variable stehen.

Gruß Axel

Posted

Ja, da hätte ich verstanden, wenn das Ziel im Quellgleis als Variable steht.
local Ziel = $("SB-Gleis-11").variables["Ziel"]

Aber wird schon so richtig sein.
Interessante Idee, das ganze Gleis springen zu lassen.
 

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...