Jump to content

Eggu

Mitglieder
  • Gesamte Inhalte

    334
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Eggu

  1. Vor einiger Zeit hatte ich das gleiche/ähnliche Thema angesprochen, dass manchmal nämlich "angeheftete" Objekte während der Fahrt sich nach und nach ein klein wenig verschieben und langsam wegwandern, z.B. Fahrgäste in einem Wagon. Es gab einige Erklärungsversuche, aber ganz schlüssig war es nicht (so meine Erinnerung), habe es dann aber weiter nicht mehr erforscht. Scheint ja aber weiterhin zu existieren, dieses Phänomen. Gruß Eggu
  2. Eggu

    Spiel 2048 in MBS

    Super, habe ich schon länger nicht mehr gespielt. Ohne den Code in allen Details jetzt nachvollziehen zu wollen, so fällt doch gleich auf, dass bei den Events oben, unten und rechts ca. in der Mitte eine for- bzw. while-Schleife der Form vorkommt: for i, r in ipairs(t) do local liste = {} liste[1] = r[4] liste[2] = r[3] liste[3] = r[2] liste[4] = r[1] nur beim Event "links" fehlt diese Schleife, kann man das kurz begründen ? Gruß Eggu
  3. jeder, der etwas längere/kompliziertere Arithmetik-Ausdrücke hat oder verschachtelte Objekt-Zugriffe, und Zwischenergebnisse mehrmals wieder verwenden möchte. (dachte, ich hätte das oben schon beschrieben). Man braucht das für die gleichen Zwecke wie unter Lua auch, man aber lieber die graph. EV nutzen möchte.
  4. sicher, wäre aber aus meiner Sicht trotzdem ein Feature, dass man ohne großen Aufwand auch in der EV implementieren könnte.
  5. Beim stark verschachtelten Zugriff auf Objekte kann man statt einem Einzeiler auch Mehrzeiler benutzen, und Zwischenergebnisse (insb. Teilpfade auf Unterobjekte) in local-Variablen zwischenspeichern. Das ist oft übersichtlicher, insbesondere, wenn man Teilpfade an mehreren Folgestellen wieder braucht. Oder auch bei längeren Arithmetik-Ausdrücken hilfreich, auch beim Debuggen von Zwischenergebnissen. In der graphischen EV muss ich, um gleiches zu erreichen, den Umweg über Objekt- oder Modulvariablen machen, obwohl diese Variablen ja nur temporär gebraucht werden. Könnte man local-Variablen nicht auch in der graph. EV anbieten ? Gruß Eggu
  6. Hallo Bahnkater, ist das der aufgestaute "Frust" von 9 Jahren, die du jetzt schon dabei bist, oder speziell Neuerungen in V8 ? Kannst du 'mal die 3 Top-Themen nennen, die besonders "unlogisch" sind ? Gruß Eggu
  7. Eggu

    Bremer Hbf

    Ja, schöne Anlage. Läuft bei mir aber nur mit ruckeligen 12..20 fps. (Bei Zoom auf den völlig leeren Hintergrund sogar mit 30 fps). An meinem PC sollte es nicht liegen, die neue Western-Stadt/Bahnhof z.B. läuft mit flüssigen 90+ fps. Gruß Eggu
  8. Wenn die Gleisüberkreuzungen echte Kreuzungselemente wären, könnte man das bestimmt einfach mit Fahrstraßen lösen. Z.B. beim Betreten der roten Gleise die jeweilige Fahrstraße anfordern, die dann am Signal beginnt und an geeigneter Stelle endet. Gruß Eggu
  9. Vielleicht hilft hier der Merksatz: "In der Informatik gibt es kein Problem, welches nicht durch einen Pointer auf einen Pointer gelöst werden könnte."
  10. so z.B.: local variable_modul = $("Kran_1").variables variable_modul["kran_x"] = 0 Hinweis: $-Ausdrücke sind keine echten Variablen, sondern Konstanten, also ein Verweis auf ein konkretes Objekt. Gruß Eggu
  11. Meine Methode: Statt Modulvariablen Objektvariablen nutzen. Objekt kann z.B. ein bestimmter Gleiskontakt pro Kreuzung/Einmündung sein, mit einem bestimmten Schlagwort. In der EV hat man dann eine Indirektions-Stufe mehr, was die EV komplexer macht. In Lua gestaltet sich das dann etwas übersichtlicher. Gruß Eggu
  12. Aus meiner Sicht müssen die nicht verschlossen sein. Gruß Eggu
  13. z.B. mit/ohne Rundfenster (Bullauge) oder eckiges Fenster, oder leichte Variation in der Steintextur. Kleinigkeiten, um die Wiederholung in der Dachstruktur zu durchbrechen
  14. gefällt mir. Vl. einige der Fenster/Tür Varianten reduzieren und statt dessen auch ein paar Dach-Variationen. Gruß Eggu
  15. "Erst wenn der Fahrweg komplett frei ist, wird die Verriegelung aufgehoben und eine andere Fahrstraße kann aktiv werden. " Ich denke, das stimmt nicht ganz. Weichen werden bereits frei gegeben, wenn diese passiert wurden. Gruß Eggu
  16. Rechte Maustaste auf "Meine Anlagen" und "Neue Kategorie" wählen
  17. nein. Aber dies ist per Animation möglich, falls dies im Modell so vorgesehen ist.
  18. Ein normales Straßenstück auf gewünschte Länge ziehen (120), dann zu Spur 2 ein Segment zufügen und links-rechts Bogen einstellen (Bild, nicht gerechnet, probiert). Für die Gegenseite ein gespiegeltes Element erstellen (Segment 1 und Segment 2 tauschen bzw. plus/minus tauschen). Und "Position" auf -8,5 (statt 8,5), da ja von der Gegenspur aus zurück gewechselt wird nach "8,5" Dazwischen ein normales Straßenstück auf gewünschte Länge ziehen ( und mit Baustelle versehen). Auf korrekte Drehung der Spurwechselstücke achten . Gruß Eggu
  19. Wenn ich eine Sound-Datei importieren will, wird ja mp3 und ogg angeboten, also nehme ich an, dass auch diese beiden Typen erlaubt sind. Vl. ist deine mp3-Abtastrate oder ein anderer Parameter nicht erlaubt ? Gruß Eggu Tipp: mp3 in Audacity laden und als ogg exportieren, vl. hilft das
  20. oben links im Pos.-Fenster (aktivieren mit G)
  21. $-Konstrukt ergibt ein konstantes Objekt, der Name ist fest und kann keine Variable sein. Stattdessen nimmt man: layout:getEntityByName Das fkt. z.B. bei Signalen, aber offenbar auch NICHT bei Fahrstraßen, weiß jemand warum ? (so hat zumindest mein Test ergeben) local varFSstr = "BhfTest Ausf O 06 Gleis 1" -- fkt. z.B. bei Signalen, aber offenbar nicht bei Fahrstraßen, warum ? : local varFS = layout:getEntityByName(varFSstr) -- fkt. leider nicht bei Fahrstraßen -- varFS = $("BhfTest Ausf O 06 Gleis 1") varFS.active = true Anmerkung: (1) Zwischenwerte sollten in local Variablen, (2) ich würde Stringvariablen nicht mit Objekt-Werten überschreiben (besser 2 Variablen spendieren) Gruß Eggu
  22. .. or select the complete loop-ring with alt-LMB, then press x - dissolve edges ... done
  23. Die Antwort auf diese Frage ist ein eindeutiges: JA! Auf so etwas muss man bei Ereignis-gesteuerten Echtzeit-Systemen immer achten, oder "höhere" Konzepte benutzen. Solch ähnliche Diskussionen gab es in der Vergangenheit mehrfach, aber "meistens" verhält es sich so: Wenn ein Event ausgelöst wird, dann wird der ganze zugehörige Code (EV oder Lua) "am Stück" abgearbeitet, so dass benutze Variablen nicht "von außen" (durch einen anderen Event) überschrieben werden können. Anders verhält es sich bei einer Verzögerung, da dann der Event-Code ja (zunächst) beendet wird, und später (an anderer Stelle) wieder aufgenommen wird. Dann können natürlich (gemeinsam benutze) Variablen überschrieben werden, je nachdem was die anderen Events in der Wartezeit so treiben, aber das programmiert man ja selbst, manchmal will man das so. Wie oben schon mehrfach beschrieben, benutzt man vorzugsweise bei generisch programmierten Events (also Reaktionen auf Auslöser mit einem Schlagwort) eine Objektvariable, weil die gibt es dann mehrfach und exklusiv (indem man diese bei dem auslösenden Objekt definiert, also Gleiskontakt, Signal usw,). Näheres findet man bei "Programmierung von Echtzeitsystemen, Multi-Tasking, Multi-Threading, Semaphore-Konzept, Monitor-Konzept usw.) Gruß Eggu
×
×
  • Neu erstellen...